我在mongodb中有以下文档,我试图根据值referenceId
和X0000000005
之间的X00000000010
字段删除文档,我找不到任何基于删除mongo文档的文章在自定义字段上,有人可以帮我删除它吗?
{
"_id" : ObjectId("5a0f13ad0a83924b84d16b7d"),
"senderId" : "783",
"clientId" : "146196",
"referenceId" : "X00000000001",
"file" : "jAAAAAECAAABaAAAAKQAAJyMKYqPYvFQKJrZ/fqYjDKNdXdOMK58tPQ"
}
{
"_id" : ObjectId("5a0f13ad0a83924b84d16b7e"),
"senderId" : "783",
"clientId" : "146196",
"referenceId" : "X00000000002",
"file" : "jAAAAAECAAABaAAAAKQAAJyMKYqPYvFQKJrZ/fqYjDKNdXdOMK58tPQ"
}
.
.
.
.
.
.
{
"_id" : ObjectId("5a0f13ad0a83924b84d16b7f"),
"senderId" : "783",
"clientId" : "146196",
"referenceId" : "X00000000020",
"file" : "jAAAAAECAAABaAAAAKQAAJyMKYqPYvFQKJrZ/fqYjDKNdXdOMK58tPQ"
}
答案 0 :(得分:2)
以下简单查询应该有效:
db.collection.remove({"referenceId":{$gte:"X00000000005"}, "referenceId":{$lte:"X00000000010"}})
您可能希望首先使用相同的过滤器运行find()
,以确保delete()
会影响正确的记录。那显然是这样的:
db.collection.find({"referenceId":{$gte:"X00000000005"}, "referenceId":{$lte:"X00000000010"}})
此外,取决于您的
的确切定义值
之间X0000000005
和X00000000010
您可能需要将$lte
和$gte
运算符替换为其他内容($gt
和/或$lt
)。
答案 1 :(得分:1)
db.collection.remove({" referenceId":{" $ lte":" X00000000010"," gte":&# 34; X0000000005"}})