Node.js 更新MongoDB中的嵌套数组
我有很多这样的公司文件:Node.js 更新MongoDB中的嵌套数组,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我有很多这样的公司文件: { "name" : "testCompany", "code" : "150", "access" : [ { "name" : "x", "role" : "admin" }, { "name" : "y", "role" : "User" }, { "name" : "z", "role" : "User" }
{
"name" : "testCompany",
"code" : "150",
"access" : [
{
"name" : "x",
"role" : "admin"
},
{
"name" : "y",
"role" : "User"
},
{
"name" : "z",
"role" : "User"
}
]
}
我想找一家代码值为“150”的公司。然后删除名为“z”的访问权限。这是我写的,但没用。我没有发现任何错误:
collection.update(
{code: req.body.companyCode },
{$pull: {"access.$.name": req.body.username}},
function(err, results) {
res.send({error: err, affected: results});
db.close();
});
有什么想法吗?不熟悉node,但我认为应该是:
collection.update(
{code: req.body.companyCode },
{$pull: {"access": {"name": req.body.username}}},
function(err, results) {
res.send({error: err, affected: results});
db.close();
});