簡體   English   中英

Mongo客戶端未更新多個記錄

[英]Mongo client not updating multiple records

我有一個MongoDB集合,其中包含以下格式的許多文檔:

{
    "_id" : ObjectId("55b64b79cf8b57c2face707d"),
    "my_id" : "MYMAINID00001",
    "position" : 4,
    "A" : 0,
    "B" : -2.17,
    "C" : -3.46
}

我正在嘗試使用以下命令更新與my_id字段匹配的多個記錄:

db.mycollection.update(
    {"my_id": "MYMAINID00001"}, 
    { $set: 
      {"my_id": "MYMAINID00001", 
       "start": 128, 
       "end": 255}
    },
    {
      $upsert: 1,
      $multi: 1
    }
)

但是,這只是創建具有4個字段的新文檔:

{
    "_id" : ObjectId("55b64b79cf8b57c2face707c"),
    "my_id" : "MYMAINID00001",
    "start" : 128,
    "end" : 255
}

並且更新當前現有記錄以包括startend字段。

通過查看文檔 ,看來我正確地執行了此操作,但顯然有問題。

有誰知道為什么此更新命令不更新當前現有記錄?

我仍在使用Mongo 2.6。

你做錯了。 沒有$upsert$multi運算符

db.mycollection.update({ "my_id": "MYMAINID00001" }, 
    { "$set": { 
        "my_id": "MYMAINID00001", 
        "start": 128, 
        "end": 255
     }},
    { upsert: 1, multi: 1 }
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM