2017-11-21 11 views
1

내가 mongodb에있는 문서가 X0000000005X00000000010 사이의 referenceId 필드를 기반으로 문서를 삭제하려고 할 때 사용자 정의 필드를 기반으로하는 mongo 문서를 삭제할 수있는 기사를 찾을 수 없습니다. 누군가가 가능한 경우 삭제를 도와주세요.몽고 db 사용자 정의 필드 사이에 문서를 삭제

{ 
    "_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" 
} 

답변

2

다음과 같은 간단한 쿼리 작업을해야합니다 :

db.collection.remove({"referenceId":{$gte:"X00000000005"}, "referenceId":{$lte:"X00000000010"}}) 

당신은 delete() 올바른 기록에 영향을 미칠 것입니다 있는지 확인하기 위해 먼저 동일한 필터를 사용하여 find()를 실행할 수 있습니다. 즉, 분명 다음이 될 것입니다 : 또한

db.collection.find({"referenceId":{$gte:"X00000000005"}, "referenceId":{$lte:"X00000000010"}}) 

, 값 X0000000005X00000000010

사이

의 정확한 정의에 따라 당신이 $lte를 교환해야하고 $gte 연산자를 사용하여 다른 연산자 ($gt 및/또는 $lt)를 보내십시오.

1

db.collection.remove ({ "referenceId": { "$ lte": "X00000000010", "gte": "X0000000005"}})