Javascript 从节点更新Mongo
我是新来的 在Mongo shell中,我对集合“system.user”发出此命令 把这张唱片拿回来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
{
"_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});