使用给定BSON类型的_id属性删除mongo集合中的文档

时间:2016-03-17 10:31:34

标签: mongodb removeall

我有一个集合,其中每个文档的_id都是字符串类型。由于某些问题,我们插入了一些错误的_id类型为ObjectId的文档。

{
  "_id": "M123",
  "title": "Test",
  ...
}
{
  "_id": ObjectId("566de977e4b075b86383b629"),
  "title": "Test",
  ...
}

现在我要删除与第二个文档类似的所有文档。有没有办法将此查询指定给db.Collection1.remove()

我尝试在谷歌搜索,在那里我找到了指定特定字段值的条件而不是其类型的查询。

1 个答案:

答案 0 :(得分:0)

我可以使用以下查询删除_I类型为ObjectId的行。

db.Collection1.remove({"_id":{$type: 7}})

这适用于3.0之前的mongo旧版本 对于较新的版本,您也可以使用

db.Collection1.remove({"_id":{$type: "objectId"}})