我是mongodb的新用户,我有一个如下所示的模型。对于更新 list 数据,我必须在数组中指定元素。所以我认为我需要为每个元素存储一个唯一的值。因为list.name和list.price是可变数据。
那么有没有什么好方法可以在mongodb中创建一个唯一的id?或者我应该自己创建独特的ID?
{
name: 'AAA',
list: [
{name: 'HOGE', price: 10, id: 'XXXXXXXXXX'}, // way to add id
{name: 'FUGA', price: 12, id: 'YYYYYYYYYY'} // way to add id
]
}
答案 0 :(得分:0)
Mongodb
仅为文档创建唯一ID。列表或数组元素没有更好的方法。因此,您应该自己创建唯一ID。
请注意,在更新列表时,请使用$addToSet
。
有关$addToSet
的详细信息,请按照此documentation
答案 1 :(得分:0)
在你的id字段上使用ObjectId(),就像..
db.test.update({name: "AAA"}, { $push: { list: {_id : ObjectId(), name: "dingles", price: 21} }});