如何使用推入和拉入单个查询mongodb

时间:2018-10-29 10:24:41

标签: arrays mongodb mongoose

我现在是mongo的新手,我想在MongoDB推和拉查询概念中进行操作。我想拉所有对象并将新对象推入数组,同时使用pull pull可以正常工作,而push push可以正常工作,但是我在单个查询中都使用了,我很累但无法实现解决此问题的需要帮助 注意:UIList数组是动态的

我的查询

 db.getCollection('roles').update(
    { "_id": ObjectId("5bd6b1dc552a2a3ed0bde948") },
    { "$pull": { "UIList": {  } } },
    { "$push":  {$set: "UIList": { "field1": "1234", "field2": "12345" } } }) //Not working

1 个答案:

答案 0 :(得分:1)

根据设计,您不能将多个更新修饰符应用于字段。您可以将$set与数组一起使用,这将覆盖现有的数组值。

类似

db.getCollection('roles').update(
    {"_id": ObjectId("5bd6b1dc552a2a3ed0bde948") },
    {"$set":{"UIList":[{"field1":"1234","field2": "12345"}]}}
)