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},{…}
)相同的错误,但是谢谢