在mongodb中删除数组中的一个项目[重复]

Posted

技术标签:

【中文标题】在mongodb中删除数组中的一个项目[重复]【英文标题】:Delete an item in array in mongodb [duplicate] 【发布时间】:2020-03-26 05:31:03 【问题描述】:

我有一个文件

“_id”:ObjectId(“5de2a0a2336a4c5adc3fc25c”), “图片” : “其他图像”:[ "imageUrl" : "HL2370207N_1575195338958.jpg", “状态”:真 , "imageUrl" : "HL2370207N_1575195373805.jpg", “状态”:真 , "imageUrl" : "HL2370207N_1575195382992.jpg", “状态”:真 ]

我必须删除 otherImages 数组的一项,其 imageUrl 为“HL2370207N_1575195382992.jpg” $pull 无法应用,因为它位于不是数组的节点图像下。请给予任何指导。我是 mongoDB 的新手

【问题讨论】:

哼,为什么你觉得$pull不能申请?你能显示你的查询吗? db.userdetails.update( , $pull: image: OtherImages: $elemMatch: imageUrl: "HL2370207N_1575195382992.jpg" 错误是 WriteResult ( "nMatched" : 0, "nUpserted" : 0, "nModified" : 0, "writeError" : "code" : 2, "errmsg" : "Cannot apply $pull to a non-array value" ) 【参考方案1】:

我认为您可以指定要删除的值。像这样:

 $pull:  <field1>: <value|condition>  

来源和例子:https://docs.mongodb.com/manual/reference/operator/update/pull/

【讨论】:

以上是关于在mongodb中删除数组中的一个项目[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 MONGODB 中删除数组中的重复值?

从 mongodb 数组中的所有重复项中拉出一个元素

如何从js中的数组中删除元素[元素来自mongodb] [重复]

如何从js中的数组中删除元素[元素来自mongodb] [重复]

mongodb:查询以检查数组中的项目是不是包含特定字符串[重复]

删除内部字段数组 MongoDb 的元素 [重复]