从Node更新Mongo

我是Node的新手。

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

db.system.users.find({_id: "test.admin"}) 

并取回这个logging

 { "_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的例子,将告诉我如何更新angular色属性。 这样在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" }] } 

改变“angular色”:“根”到“angular色”:“dbowner”

我正在寻找最“primefaces”的方式来做到这一点,也许某种jsonparsing。 不只是一个简单的stringreplace。

你可以尝试这样的事情

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