Javascript 使用MongoDB从JSON中删除属性

Javascript 使用MongoDB从JSON中删除属性,javascript,node.js,mongodb,Javascript,Node.js,Mongodb,我有下一个代码: { "_id" : ObjectId("5f982a5fe64d4c0315caebac"), "baneado" : false, "email" : "rodolfo.computacion+003@gmail.com", "password" : "$2a$10$Q6Uk.OUVFmZAtREHnogEu

我有下一个代码:

{ 
    "_id" : ObjectId("5f982a5fe64d4c0315caebac"), 
    "baneado" : false, 
    "email" : "rodolfo.computacion+003@gmail.com", 
    "password" : "$2a$10$Q6Uk.OUVFmZAtREHnogEuOabPvnQlvQ15yKPxo/fFcZ5xEciYdOHu", 
    "nombre" : "Rodolfo", 
    "apellido" : "Rodriguez", 
    "propiedades" : [
        {
            "beta" : true
        }, 
        {
            "promociones" : {
                "activo" : true
            }
        }
    ], 
    "createdAt" : ISODate("2020-10-27T14:10:39.108+0000"), 
    "updatedAt" : ISODate("2020-10-27T14:14:55.096+0000"), 

}
我尝试删除“promociones”(如果存在),但有一个错误,我的代码如下:

var promesaUser =  User.update({ _id: elemento._user }, { $pull: {  propiedades:{promociones: { $exists: true} }  } }).exec()
它会向我发送下一个错误:

错误1 MongoError:“$pull”为空。必须在Function.MongoError.create(/home/rodolfo/desarrolo/api backend ecdf/node_modules/mongodb core/lib/error.js:45:10)处指定如下字段:{$pull:{:…}}


我从这里开始,抱歉出错,我不知道会发生什么…在高级版中,谢谢!

您可以尝试在更新查询的筛选器中指定
$exists
条件。在集合中,一些注册表具有此“propiedades”,而另一些注册表不具有此属性,如果退出,则仅删除该属性…查询应如下所示:
User.update({{u id:elemento.\u用户,“propiedades.promociones”:{$exists:true},{…}
)相同的错误,但是谢谢