2016-06-03 2 views
1

많은 레코드가있는 컬렉션 ft이 있습니다. 그러나, 나는 쉼표로 구분 된 목록에있는 특정 ID를 제외하고 싶습니다. 컬렉션에없는 id 값을 가진 문서 만 선택하십시오.

나는 다음과 같은

var ids = [ "RQcWthREHBTfkybMy", "jiPrzQQWxbN5a8pEC", "5oFxC68WEggYzY7ah" ] 
db.collection.find({ _id: { $ne: ids } }) 

을하려고하지만 난 단지 내 목록의 첫 번째 ID입니다 RQcWthREHBTfkybMy을 제외하고 관리 할 수 ​​있습니다.

+1

사용 [**'$ nin' **] (https://docs.mongodb.com/manual/reference/operator/query/nin/() {_ ID : {$ nin : [ "RQcWthREHBTfkybMy", "jiPrzQQWxbN5a8pEC", "5oFxC68WEggYzY7ah"]}})' – chridam

+0

@chridam 감사합니다. 그게 효과가 있었어. –

답변

0

지정된 값이 배열 일 때 $ne 쿼리 연산자 동작이 $eq 연산자와 완전히 다릅니다. 필드 값이 지정된 배열에 있는지 확인하려면 $nin 쿼리 연산자를 사용해야합니다. db.ft.find`로

var ids = [ "RQcWthREHBTfkybMy", "jiPrzQQWxbN5a8pEC", "5oFxC68WEggYzY7‌​ah" ] 
db.collection.find({ "_id": { "$nin": ids } }) 
관련 문제