Mongodb:如何为数组中的每个元素添加唯一值?
我是mongodb的新用户,我有一个如下的模型。对于更新列表数据,我必须指定数组中的元素。所以我认为我需要为每个元素存储一个唯一的值。因为list.name和list.price是可变数据 那么,在mongodb中有什么好方法可以创建唯一的id呢?或者我应该自己创建唯一的ID吗Mongodb:如何为数组中的每个元素添加唯一值?,mongodb,mongoose,Mongodb,Mongoose,我是mongodb的新用户,我有一个如下的模型。对于更新列表数据,我必须指定数组中的元素。所以我认为我需要为每个元素存储一个唯一的值。因为list.name和list.price是可变数据 那么,在mongodb中有什么好方法可以创建唯一的id呢?或者我应该自己创建唯一的ID吗 { name: 'AAA', list: [ {name: 'HOGE', price: 10, id: 'XXXXXXXXXX'}, // way to add id {name: 'F
{
name: 'AAA',
list: [
{name: 'HOGE', price: 10, id: 'XXXXXXXXXX'}, // way to add id
{name: 'FUGA', price: 12, id: 'YYYYYYYYYY'} // way to add id
]
}
Mongodb
仅为文档创建唯一id。对于列表或数组元素,没有更好的方法。因此,您应该自己创建唯一的ID
添加请记住,在更新列表时使用$addToSet
。
有关$addToSet
的更多信息,请遵循以下步骤在id字段上使用ObjectId(),如
db.test.update({name: "AAA"}, { $push: { list: {_id : ObjectId(), name: "dingles", price: 21} }});
参考: