Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.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
Javascript 从节点更新Mongo_Javascript_Node.js_Mongodb - Fatal编程技术网

Javascript 从节点更新Mongo

Javascript 从节点更新Mongo,javascript,node.js,mongodb,Javascript,Node.js,Mongodb,我是新来的 在Mongo shell中,我对集合“system.user”发出此命令 把这张唱片拿回来 { "_id": "test.admin", "user": "admin", "db": "test", "credentials": { "SCRAM-SHA-1": { "iterationCount": 10000, "salt": "hBehS02+DJL+XX92dpuXnw==", "storedKey": "6TifI

我是新来的

在Mongo shell中,我对集合“system.user”发出此命令

把这张唱片拿回来

{
  "_id": "test.admin",
  "user": "admin",
  "db": "test",
  "credentials": {
    "SCRAM-SHA-1": {
      "iterationCount": 10000,
      "salt": "hBehS02+DJL+XX92dpuXnw==",
      "storedKey": "6TifIE7lc4TLKkMSYC6yjX/WZ5Y=",
      "serverKey": "gqxsc9a6Z8HvBLpZl8bNxiPsYWA="
    }
  },
  "roles": [{
    "role": "root",
    "db": "admin"
  }]
}
我的问题是,有没有人有一个JavaScript示例,可以告诉我如何更新角色属性。所以在JavaScript/节点更新之后

db.system.users.find({_id: "test.admin"})
然后我会读

{
  "_id": "test.admin",
  "user": "admin",
  "db": "test",
  "credentials": {
    "SCRAM-SHA-1": {
      "iterationCount": 10000,
      "salt": "hBehS02+DJL+XX92dpuXnw==",
      "storedKey": "6TifIE7lc4TLKkMSYC6yjX/WZ5Y=",
      "serverKey": "gqxsc9a6Z8HvBLpZl8bNxiPsYWA="
    }
  },
  "roles": [{
    "role": "dbowner",
    "db": "admin"
  }]
}
将“role”:“root”更改为“role”:“dbowner”

我正在寻找最“原子化”的方法,也许是某种json解析。
不仅仅是一个简单的字符串替换。

您可以尝试这样的方法

db.system.users.updateOne({_id: "test.admin"}, {"roles.role":"dbowner"}, {upsert:1});

您是否搜索到mongodb到node或mongoose?在继续之前,您可能应该阅读整个部分:感谢您提供使用mongoose的提示
db.system.users.updateOne({_id: "test.admin"}, {"roles.role":"dbowner"}, {upsert:1});