Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将数组添加到现有嵌套数组中,但不重复mongodb_Javascript_Arrays_Mongodb - Fatal编程技术网

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"] 
            }
        }
    }
)