问题:
在 MongoDB 中,如何提取特定对象来自嵌入文档中的数组?在示例文档中,我们想要从 items 数组中删除 id 为 23 的对象。
解决方案:
要实现此目的,请使用 $pull 运算符更具体的查询,以匹配数组中所需的对象。
MongoDB 查询:
db.mycollection.update( { '_id': ObjectId("5150a1199fac0e6910000002") }, { $pull: { items: { id: 23 } } }, false, // Upsert true // Multi );
解释:
Node.js/Mongoose:
在 Mongoose 中,您可以使用以下查询:
<code class="javascript">MyModel.findOneAndUpdate( { '_id': '5150a1199fac0e6910000002' }, { $pull: { items: { id: 23 } } }, { multi: true } );</code>
注意: MongoDB 3.6 还支持 $elemMatch 运算符与 $pull 结合使用,以在数组内进行更复杂的过滤。
以上是如何从 MongoDB 数组中删除特定对象?的详细内容。更多信息请关注PHP中文网其他相关文章!