首页 >web前端 >js教程 >如何从 MongoDB 数组中删除对象?

如何从 MongoDB 数组中删除对象?

Susan Sarandon
Susan Sarandon原创
2024-11-03 18:32:29745浏览

How to Remove an Object from an Array in MongoDB?

从 MongoDB 中的数组中删除对象

处理包含数组的文档时,可能需要从中删除特定对象。这在存储项目列表或类似条目的文档中很常见。在 MongoDB 中,有一个指定的运算符,称为 $pull,专门为此目的而设计。

提供的示例说明了一个包含项目数组的文档。目标是删除 id 等于 23 的 item 对象。最初尝试使用 $pull 是不正确的,因为它尝试直接在 $pull 语句中匹配 id 字段,这不是正确的语法。

要成功删除所需的对象,正确的查询是:

db.mycollection.update(
    { '_id': ObjectId("5150a1199fac0e6910000002") }, 
    { $pull: { items: { id: 23 } } },
    false, // Upsert
    true, // Multi
);

此查询指定它想要使用给定的 _id 更新文档,并在该更新中应用 $pull 运算符到 items 数组,匹配每个数组元素的 id 为 23。

对于使用 Mongoose/Node.js 的用户,等效的代码片段是:

<code class="javascript">Model.updateOne(
    { '_id': ObjectId("5150a1199fac0e6910000002") }, 
    { $pull: { items: { id: 23 } } },
    function(err, result) {
        // Handle error or result
    }
);</code>

以上是如何从 MongoDB 数组中删除对象?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn