2012-11-27 2 views
1

그래서 내가해야 할 때 아무것도 반환하지 않는 아래의 쿼리가 있습니다.다음과 같은 mongodb 쿼리가 있습니까?

db.food.find({ingredient : {name : {$ne : "Kahlua"}}}); //empty data 

그러나, 내가 생각하는 것은 동등한 출력 올바른 정보를 않는 것입니다 :

db.food.find({"ingredient.name" : {$ne : "Kahlua"}}); //gives correct data 

나는 위의 2 조회에이 사용 BrowserShell을 시도, 그것은 나에게 훨씬 문제를 작성하지 않았습니다 간단한 기능과 쿼리.

답변

2

아니요, 이들은 동일하지 않습니다.

db.food.find({"ingredient.name" : {$ne : "Kahlua"}}); 

db.food.find({ingredient : {name : {$ne : "Kahlua"}}}); 

는 어디 성분 하위 개체는 이름 속성으로 구성 곳 찾기 "말하고있다 ... 반면,"성분 이름 칼루아와 동일하지 않은 경우 찾기 "말하고 그 이름은 칼루아와 동등하지 않습니다. " 따라서이 경우 실제로 전체 주제에 대한 검색을 수행하고 있습니다.

은 아마 훨씬 더 여기에서 설명 - dot notation vs subobjects

+0

당신이 http://stackoverflow.com/questions/13567953/mongoose-mongodb-query-multiple-sort 볼 수있을 것입니다 – bouncingHippo

관련 문제