mongodb - 删除与某个元素匹配的数组元素
问题描述
我有一个 mongodb 集合。
{用户ID:1,项目:[{_id:1},{_id:2},{_id:3}]}
我想删除具有特定 ID 的数组项。任何人都可以解释上述查询有什么问题。
db.col.findOneAndUpdate({user_id:1},{$pull:{items:{$elemMatch:{_id:2}}}})
解决方案
$pull将表达式作为参数,因此您不必使用$elemMatch
(在这种情况下不起作用)。尝试:
db.col.update({user_id:1},{$pull:{items:{_id:2}}})
因此,这种情况下的表达式意味着 MongoDB 将删除已_id
设置为的文档,2
但该文档也可以具有其他属性。
推荐阅读
- go - 以固定的步长将字节读入 Go 缓冲区
- sql - 如何在 T-Sql 中自定义结果
- vue.js - VueJS 和 Axios 用于 prod env 的多个基本 URL
- markdown - MARKDOWN 粗体字
- swift - DateFormatter: dateFormat 毫秒 Swift
- javascript - 如何增加 3 的数量限制,即 000
- vba - 如何单击日期选择器硒 VBA?
- wpf - Wpf 应用程序在启动时不启动
- swift - Swift 编译器错误:数学方程上的“表达式太复杂”
- javascript - 如何删除所需属性的 HTML5 表单验证默认错误消息