我有模块名称Items。我的模块如下所示:
{
_id: 4874874874848,
name: Item1
data: {name: 'Item name', id:1235}
}
现在我只需要更改数据数组中的内容(名称和ID)。 我一直在使用Items.FindOneAndUpdate(),但是我需要在该数据数组中插入新数据。我的问题是,如何添加新值,但只能在模块的数据数组中添加。 我的数据库应如下所示:
{
_id: 4874874874848,
name: Item1
data: {
0{name: 'Item name', id:1235}
1{name: 'Item name1', id:44545}
2{name: 'Item name2', id:54545}
}
}
答案 0 :(得分:0)
听起来像您需要$addToSet
https://docs.mongodb.com/manual/reference/operator/update/addToSet/
请注意,这不会添加任何重复的值
编辑,添加示例:
'$addToSet': { data: {
'$each': [
{name: 'Item name1', id:44545},
{name: 'Item name2', id:54545}
]
}}