MongoDB-删除或替换所有数组元素

时间:2018-10-25 12:46:46

标签: mongodb mongoose mongodb-query

如何替换mongodb数组元素中的所有元素。如下例所示,我的要求是从技能数组中删除两个对象,并在其中添加新元素。

{
    "_id": "uniqueid",
    "skills": [
        { "skill": "dancer" },
        { "skill": "singer" }
    ]
}

我需要替换技能数组字段的所有元素。使用mongodb java驱动程序或其他查询类型如何实现?

1 个答案:

答案 0 :(得分:1)

您只需要使用 $ set 运算符$set即可将技能设置为新值,该值将是您要替换的新元素的数组。

 db.collectionName.update(
   { _id: 'uniqueid' },
   { $set:
      {            
        skills: [{'new elements'}]
      }
   }
)

如果要删除所有元素,请将技能设置为空数组{skills:[]}

如果要基于值删除某些元素,请使用$ pull运算符$pull