我有一个集合,其中每个文档的_id
都是字符串类型。由于某些问题,我们插入了一些错误的_id类型为ObjectId
的文档。
{
"_id": "M123",
"title": "Test",
...
}
{
"_id": ObjectId("566de977e4b075b86383b629"),
"title": "Test",
...
}
现在我要删除与第二个文档类似的所有文档。有没有办法将此查询指定给db.Collection1.remove()
?
我尝试在谷歌搜索,在那里我找到了指定特定字段值的条件而不是其类型的查询。
答案 0 :(得分:0)
我可以使用以下查询删除_I类型为ObjectId的行。
db.Collection1.remove({"_id":{$type: 7}})
这适用于3.0之前的mongo旧版本 对于较新的版本,您也可以使用
db.Collection1.remove({"_id":{$type: "objectId"}})