Rumah > Soal Jawab > teks badan
1.帖子有内容有回复,如果在mongodb里只用1个表的话,可以设计成这样
{
title:'巴拉巴拉',
content:'巴拉巴拉',
comments:[
{
user:123,//用户123的回复
content:'123'
},
{
user:456,//用户456的回复
content:'456'
}
]
}
这样的设计的话,如何修改 user:456 里的content?
1)是否用类似数组下标的方式?如:comments[1].content?如何写?
过去多啦不再A梦2017-05-02 09:23:46
Jika anda sudah mengetahui subskrip {user: 456}
, anda boleh menukarnya menggunakan subskrip tatasusunan:
db.coll.update({...}, {$set: {"comments.1.content": "567"}})
Atau mengikut syarat pertanyaan:
db.coll.update({"comments.user": 456}, {$set: {"comments.$.content": 567}})
di mana $
mewakili elemen tatasusunan yang dipadankan. Tetapi cara ini hanya akan mengubah suai elemen tatasusunan padanan yang pertama. Oleh itu, berhati-hati bahawa syarat anda mesti sepadan dengan elemen yang ingin anda ubah. Mengambil data anda sebagai contoh, jika pengguna ini telah mengulas dua kali, akan ada masalah dengan menulis seperti ini.