我现在是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
答案 0 :(得分:1)
根据设计,您不能将多个更新修饰符应用于字段。您可以将$set
与数组一起使用,这将覆盖现有的数组值。
类似
db.getCollection('roles').update(
{"_id": ObjectId("5bd6b1dc552a2a3ed0bde948") },
{"$set":{"UIList":[{"field1":"1234","field2": "12345"}]}}
)