Javascript 将数组添加到现有嵌套数组中,但不重复mongodb
这是我的用户收藏Javascript 将数组添加到现有嵌套数组中,但不重复mongodb,javascript,arrays,mongodb,Javascript,Arrays,Mongodb,这是我的用户收藏 { _id: ObjectId("589803bf53860d4a3475afa3"), "username": "fadeltd", "gender": "Male", "updatedAt": ISODate("2017-02-06T05:03:59.969Z"), "createdAt": ISODate("2017-02-06T05:03:59.969Z"), "shoppingList": [{ "title": "Personal L
{ _id: ObjectId("589803bf53860d4a3475afa3"),
"username": "fadeltd",
"gender": "Male",
"updatedAt": ISODate("2017-02-06T05:03:59.969Z"),
"createdAt": ISODate("2017-02-06T05:03:59.969Z"),
"shoppingList": [{
"title": "Personal List",
"ingredients": ["5 Eggs"]
}]
})
我试图做的是使用$addToSet
将数据推送到我的购物清单,这样就不会有重复的购物清单数据
这是我的剧本
User.update({
_id: ObjectId("589803bf53860d4a3475afa3"),
'shoppingList.title': "Personal List"
},
{
$addToSet: {
"shoppingList.$.ingredients": ["5 Eggs", "3 Milks"]
}
})
但是当我尝试这个脚本时,我得到了这个
{ _id: ObjectId("589803bf53860d4a3475afa3"),
"username": "fadeltd",
"gender": "Male",
"updatedAt": ISODate("2017-02-06T05:03:59.969Z"),
"createdAt": ISODate("2017-02-06T05:03:59.969Z"),
"shoppingList": [{
"title": "Personal List",
"ingredients": ["5 Eggs", ["5 Eggs", "3 Milks"]],
}]
})
我希望配料是[“5个鸡蛋”、“3个牛奶”]
而不是嵌套数组[“5个鸡蛋”、“5个鸡蛋”、“3个牛奶”]
使用修饰符,它允许您向数组添加多个值
User.update(
{
"_id": ObjectId("589803bf53860d4a3475afa3"),
"shoppingList.title": "Personal List"
},
{
"$addToSet": {
"shoppingList.$.ingredients": {
"$each": ["5 Eggs", "3 Milks"]
}
}
}
)