私はこのようなコレクションを持っている:私はすべてのフィールドのために(フィールドdate
に基づいて)その最新の値を返す、単一の手順を実行したいと思いますのMongoDB:すべてのフィールドの最新の値
{
_id : 1,
key : "one",
date : ISODate("2016-10-18 08:00.000"),
a : "a1",
b : "b1"
},
{
_id : 2,
key : "two",
date : ISODate("2016-10-18 09:00.000"),
a : "a2",
b : "b2"
},
{
_id : 3,
key : "one",
date : ISODate("2016-10-18 10:00.000"),
b : "b3",
c : "c3"
},
{
_id : 4,
key : "one",
date : ISODate("2016-10-18 11:00.000"),
b : "b4"
}
を、私はgroup
、sort
、match
を使用して、多くのaggregate
と試みたが、している
{
_id : "one",
a : "a1",
b : "b4",
c : "c3"
},
{
_id : "two",
a : "a2",
b : "b2"
}
:そう、前の収集のために、私はこの結果を受け取ることになります最新の値がgroup
、ステージ後の新しい配列の最初の要素になりますので、成功アウト...あなたがする必要がどのような
予想される結果は正しいですか? – NEER
@NEER、申し訳ありませんが、期待された結果が間違っていました。ありがとうございました。 – Michele
あなたは 'key'値でグループ分けしていますか?投影フィールドは動的ですか?または常に同じでしょうか? – TomG