를 교체 나는 문서를하고 난 집계 그리고 난 같은 필드를 하위하려면 다음MongoDB를 파이프 라인 통합 파이프 라인 값
{data: {'date_created': '2011-01-01', 'title': 'abc'}, 'owner': 'Jim'}
{data: {'date_created': '2011-05-01', 'title': 'def'}, 'owner': 'Bob'}
{data: {'date_created': '2011-03-01', 'title': 'ghi'}, 'owner': 'Jim'}
{data: {'date_created': '2011-03-01', 'title': ''}, 'owner': 'Sam'}
와 나는 단지 특정 날짜 이전에 생성 된 제목을 너무 집계 할 또는 빈 목록을 반환하면 집계 파이프 라인을 어떻게 구조화 할 수 있습니까?
그래서 원하는 출력은 다음과 같습니다
이lookup => unwind =>
{'$match':
{'$or': [{'data.date_created': {'$lte': requested_date}}, {'data.title': {'$exists': False}}]}}}
하지만 날짜가 생성 한 데이터를 주조하는 방법을 알아낼 수 없습니다
{owner: "Jim", titles: ["abc", "def"],
owner: "Bob", titles: [],
owner: "Sam", titles: []}
내가 뭔가를 간다 집계 파이프 라인을 가지고 비어있는 필수 시간 이후이므로 빈 제목으로 그룹화됩니다.
당신이 $의 push' 흡수하고 아무것도 추가하지 않습니다'더미 필드 (존재하지 않는 필드)를 사용하여 좋아하는 경우에 비 표준, 당신이 그것을 간단하게 할 수 있지만. {$ {$ lte : [ "$ data.date_created", requested_date}}, "$ data.title {$ {title}}"{{ "$ group": {_id : "$ owner"제목} {$ push : {$ cond : [{ ","$ nonexist " ] } } } } – Veeram