を置き換える私が書類を持っていると私は集約していると私は次のようにフィールドをサブにしたい場合: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'}
と私は唯一の特定の日付より前に作成されたタイトルを取るように集約したいです空のリストを返すと、私はどのように集約パイプラインを構成しますか?
だから、所望の出力は次のようになります。
{owner: "Jim", titles: ["abc", "def"],
owner: "Bob", titles: [],
owner: "Sam", titles: []}
私は同じようなものだ、集約パイプラインがあります。
lookup => unwind =>
{'$match':
{'$or': [{'data.date_created': {'$lte': requested_date}}, {'data.title': {'$exists': False}}]}}}
が、私は日付が作成したデータをキャストする方法を見つけ出すことはできませんがそれは空白のタイトルでグループ化されるので、空白に必要な時間の後です。
あなたは$のpush'が吸収すると何も追加しません 'ダミーフィールド(非存在しないフィールド)を使用して、好きなら非標準は、あなたがそれを簡略化することができますが。 {$ {title} $ {title} $ {title} $ {title} $ {title} $ {title} $ {title} $ {title} "、" $ nonexist " ] } } } } – Veeram