mongodb 집계 프레임 워크 파이프 라인이 어떻게 작동하는지에 대한 근본적인 오해가있을 수 있습니다. 내 기대는 각 단계가 이전 단계의 결과를 소비한다는 것입니다.mongodb 집계 프레임 워크 파이프 라인은 어떻게 작동합니까?
> db.zipcodes.aggregate({$match:{state:"CA"}});
는 이와 같은 결과를 얻게 http://media.mongodb.org/zips.json 여기에 제공된 샘플 수집을 이용한 구체 예이다.
{
"city" : "TRUCKEE",
"loc" : [
-120.295031,
39.319321
],
"pop" : 199,
"state" : "CA",
"_id" : "96162"
}
지금까지는 그렇게 좋았습니다.
> db.zipcodes.aggregate({
$match:{state:"CA"},
$project: {city: 1, pop: 1, state: 1}
});
투사 작동하지만 첫 번째 $ 일치하는 단계를 무시 : 그럼 실행하여, 위의 투영을 얻기 위해 또 다른 단계를 추가하기로 결정. 그것은 원래의 입력에 따라, 문서를 포함하는 상태 = CA에서!
{
"city" : "THAYNE",
"pop" : 505,
"state" : "WY",
"_id" : "83127"
}
내 기대 잘못인가, 아니면 내가 그것을 보지 않고 구문 문제를 쳐다보고있다?
> db.version();
2.2.0
exemple 쿼리가 제대로 작동 : 나는 버전 2.2.0을 실행하고 있습니다.
미리 감사드립니다.
잡아 주셔서 감사합니다! – jbelis