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

Deleting documents in mongo collection with _id attribute of a given BSON type

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

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

现在我想删除所有与第二个相似的文档。有什么方法可以将此查询指定为 db.Collection1.remove()?

我尝试在 google 上进行搜索,在那里我找到了针对特定字段值而不是其类型指定条件的查询。

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

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

这是针对 3.0 之前的 mongo 旧版本 对于较新的版本,您还可以使用

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