MongoDB "$ or"쿼리의 프로파일 링을 수행하려고하는데 Mongo의 'explain()'명령에 문제가 있습니다. 껍질. find 명령으로 내 쿼리를 실행하면 예상대로 작동하여 하나의 레코드가 반환됩니다.
uncaught exception: error: { "$err" : "invalid operator: $or", "code" : 10068 }
나는 다음과 같은 쿼리를 시도하고있다 : 나는 경우
db.people.find({"query" :
{"$or" : [
{"site" : "mysite", "site_id" : "587125722"},
{"user_id" : ObjectId("4fb811aae4b0b628b485a58d")}
]},
"$orderby" : { "global_id" : 1, "user_id" : 1}
})
를 내가에 압정 그러나, 나는 다음과 같은 오류가) (찾기의 끝에서 '() 설명' "$ or"를 "or"로 변경하면 explain()이 잘 작동하지만 쿼리는 0 개의 결과를 반환합니다. 나는 그것들이 syntax (또는)없이 동일해야한다는 인상하에 있었고, 그래서 나는 무엇을 잘못하고 있는가? 버전 2.0.4를 사용하고 있습니다. 도움을 줄 수있는 사람에게 감사드립니다.
이 세상에,이 완전히했다. .count ()를 사용하는 경우를 제외하고는 똑같은 문제가 발생했으며 정확히 동일한 이유로 실패했습니다. 귀하와 Matt가 지정한 방식대로 쿼리의 패키지를 해제하십시오. 감사! –