繁体   English   中英

Mongoose 删除文档中的整个数组元素

[英]Mongoose remove clear entire array element inside a document

说我有一个记录

{
  "_id": "3536463525325645",
  "name": "james",
  "friends": [
    "jack",
    "john",
    "jeff",
    "michael"
  ]
}

我想清除整个数组,所以结果是:

{
  "_id": "3536463525325645",
  "name": "james",
  "friends": [
  ]
}

我尝试使用 $pull 但无济于事。 有人有任何建议吗?

您可以使用更新语句来做到这一点:

Person.update({name:"james"}, { $set: { friends: [] }}, function(err, affected){
    console.log('affected: ', affected);
});

如果要删除所有元素,包括元素属性列表的键。 这是 mongoDB 未设置运算符的示例:

db.UM_PREAUTH_CASE.update(
{ 'Id' : 123},
{ $unset: { dataElements: ""} }
)

JSON 看起来像这样:

{
"Id":123,
"dataElements" : [ 
        {
            "createdBy" : "Kishore Babu Diyyana",
            "createdByUserId" : 2020
        },
        {
            "createdBy" : "Diyyana Kishore",
            "createdByUserId" : 2021
        }
    ]
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM