gpt4 book ai didi

java - Mongo $pullAll 在对象数组上

转载 作者:行者123 更新时间:2023-12-01 14:09:16 26 4
gpt4 key购买 nike

目前我在 mongo 中有一个这样的数据结构:

{
"_id": "field00048",
"colorValues": [
{
"stateField": "Open1",
"color": "purple"
},
{
"stateField": "Open2",
"color": "blue"
}
]
}

我正在使用 mongo shell 创建一个查询,使用 $pullAll 通过在 stateField 字段上进行匹配来删除 colorValues 数组中的两个对象。我试过这些查询,但没有一个真正删除它们匹配的记录。
db.admin.fields.update({_id: "field00048"}, {$pullAll: {stateField: ["Open1", "Open2"]}});


db.admin.fields.update({_id: "field00048"}, {$pullAll: {colorValues: ["Open1", "Open2"]}});


db.admin.fields.update({_id: "field00048"}, {$pullAll: {colorValues: [{stateField:"Open1"}, {stateField:"Open2"}]}});


db.admin.fields.update({_id: "field00048"}, {$pullAll: {colorValues.stateField: ["Open1", "Open2"]}});


db.admin.fields.update({_id: "field00048"}, {$pullAll: {colorValues: stateField:{["Open1", "Open2"]}}});

有什么建议?

谢谢!

最佳答案

解决这个问题的查询是:

db.admin.fields.update({_id: "field00048"}, {$pull: {colorValues:{stateField:{$in: ["Open1", "Open2"]}}}}) 

关于java - Mongo $pullAll 在对象数组上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48932744/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com