Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 如何更新mongo db中具有给定值的指定字段_Mongodb_Mongodb Query_Insert Update - Fatal编程技术网

Mongodb 如何更新mongo db中具有给定值的指定字段

Mongodb 如何更新mongo db中具有给定值的指定字段,mongodb,mongodb-query,insert-update,Mongodb,Mongodb Query,Insert Update,在这里,我想更新一个给定的文档,如下所示 { "emailid": "xxx.gmail", "user_devices": [], "devices": [{ "created_time": 1607153351, "token": 123 }, { "cre

在这里,我想更新一个给定的文档,如下所示

{
    
    "emailid": "xxx.gmail",
    
    "user_devices": [],
    "devices": [{
        "created_time": 1607153351,
        "token": 123
    },
    {
        "created_time": 1807153371,
        "token": 1345
    }]
}
在这里,我需要用一个新字段(如“Newfield”)更新带有1345标记的field devices:“Newfield”,其中最终输出如下所示

{
    
    "emailid": "xxx.gmail",
    
    "user_devices": [],
    "devices": [{
        "created_time": 1607153351,
        "token": 123
    },
    {
        "created_time": 1807153371,
        "token": 1345,
        "Newfield":"newfield"

    }]
}
如何像这样更新mongo db。提前感谢您的回答

db.products.update({
  "devices.token": 1345 //Matching condition
},
{
  $set: {
    "devices.$.t": 2 //Updates the matched element in the array
  }
})
您可以使用
位置运算符
-