【发布时间】:2021-07-07 11:26:13
【问题描述】:
我目前正在使用查询来一次更新多个 mongo 文档。 数据结构如图:
{
"_id" : ObjectId("60742505d67349ff473531ca"),
"user_id" : "1",
"md5checksum" : "0x0",
"metadata" : {
"tag_ids" : [
"566bb8b92121069b34ae448a",
"566bb8b82121069b34ae4481"
],
"category_id" : "60640fa4dc84ef2ed9f6a1c9",
"custom_metadata" : [
{
"key_id" : "5a79e24b7fda236fbebe1912",
"type" : "freetext",
"value" : [
"kiShaan",
"desh"
]
},
{
"key_id" : "6052e700dc84ef7d492b5d30",
"multi_value_exists" : true,
"type" : "freetext",
"value" : [
"kiShaan",
"desh",
"Fauji",
"Saad"
]
}
],
"description" : "test bulk archive",
"slug" : "a-alpha"
}
}
更新它们的查询是:
db.example.update({"metadata.custom_metadata.key_id":"6052e700dc84ef7d492b5d30"},{"$set":{"metadata.custom_metadata.$.value":["kiShaan","desh","Fauji","Saad"],"metadata.custom_metadata.$.type":"freetext"}},{"multi":true})
我面临的问题是会有某些文档具有键“multi_value_exists”,而不是全部。在使用显示的查询进行更新时,如果使用 mongo 查询本身存在,我还想删除该键“multi_value_exists”。任何帮助就足够了。提前致谢。
【问题讨论】:
标签: database mongodb dictionary mongodb-query pymongo