我有一个具有以下架构的简单集合
{
name:"John",
brands:[
{
name:"some",
email:"asdf@some.com"
},
{
name:"blah"
email:"blah@blah.com"
}
]
}
我正在使用以下查询来删除我的品牌数组字段中的嵌入对象:
var args = {
'query':{name:"John",brands.email:"asdf@some.com"}
,update:{
'$pull':{
'brands.$.email:"asdf@some.com"
}
}
}
我正在为 mongodb 使用 nodejs 驱动程序,当我使用以下命令运行上述命令时:
collectionName.findAndModify(args,function(req,res){
})
我收到以下错误:
MongoError:无法将 $pull/$pullAll 修饰符应用于非数组
我想我做得对,但仍然出现此错误。任何帮助表示赞赏。