小编use*_*803的帖子

MongoDB:从数组字段中的所有子文档中删除字段

我有以下格式的数千份文件:

{
"_id" : ObjectId("51e98d196b01c2085c72d731"),
"messages" : [
    {
        "_id" : ObjectId("520167056b01c20bb9eee987"),
        "id" : ObjectId("520167056b01c20bb9eee987"),

    },
    {
        "_id" : ObjectId("520167056b01c20bb9eee988"),
        "id" : ObjectId("520167056b01c20bb9eee988"),

    },
    {
        "_id" : ObjectId("520167056b01c20bb9eee989"),
        "id" : ObjectId("520167056b01c20bb9eee989"),
    }
],
}
Run Code Online (Sandbox Code Playgroud)

我需要删除重复的"id"字段.这是我尝试过的:

db.forum_threads.update({}, {$unset: {"messages.$.id": 1}}, {multi: true});
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误:

Cannot apply the positional operator without a corresponding query field containing an array.
Run Code Online (Sandbox Code Playgroud)

mongodb pymongo mongoengine

6
推荐指数
2
解决办法
7908
查看次数

标签 统计

mongodb ×1

mongoengine ×1

pymongo ×1