0
内の最新の項目は、このソースデータが与えられ得るために:私は(productID
をキー)各製品の最新のレコードを取得し、そのための完全な行をプリントアウトしたいMongoDBの集計 - クエリーグループ
{ "_id" : ObjectId("1"), "productID" : 1, "amount" : 1, "date" : ISODate("2017-02-01T00:00:00Z") }
{ "_id" : ObjectId("2"), "productID" : 2, "amount" : 2, "date" : ISODate("2017-02-01T00:00:00Z") }
{ "_id" : ObjectId("3"), "productID" : 3, "amount" : 3, "date" : ISODate("2017-02-01T00:00:00Z") }
{ "_id" : ObjectId("4"), "productID" : 4, "amount" : 4, "date" : ISODate("2017-02-01T00:00:00Z") }
{ "_id" : ObjectId("5"), "productID" : 1, "amount" : 11, "date" : ISODate("2017-02-02T00:00:00Z") }
{ "_id" : ObjectId("6"), "productID" : 2, "amount" : 22, "date" : ISODate("2017-02-02T00:00:00Z") }
{ "_id" : ObjectId("7"), "productID" : 2, "amount" : 222, "date" : ISODate("2017-02-03T00:00:00Z") }
{ "_id" : ObjectId("8"), "productID" : 3, "amount" : 33, "date" : ISODate("2017-02-03T00:00:00Z") }
を製品ごとのレコードはproductID
でソートされています。だから、上から私の所望の出力は次のようになります。私はモンゴとなる問題に新たなんだ
{ "_id" : ObjectId("5"), "productID" : 1, "amount" : 11, "date" : ISODate("2017-02-02T00:00:00Z") }
{ "_id" : ObjectId("7"), "productID" : 2, "amount" : 222, "date" : ISODate("2017-02-03T00:00:00Z") }
{ "_id" : ObjectId("8"), "productID" : 3, "amount" : 33, "date" : ISODate("2017-02-03T00:00:00Z") }
{ "_id" : ObjectId("4"), "productID" : 4, "amount" : 4, "date" : ISODate("2017-02-01T00:00:00Z") }
、それを最大限に得ることができたが、それぞれの製品のために他の古いレコードを削除することができませんでした。
感謝。しかし、私は事前に完全な文書スキーマ(つまりこれは一般的です)を認識していないので、固定日付フィールドとidフィールド(date、productID)を持つことになりますが、他の多くのフィールドがあります実行時に定義されていないオブジェクトからすべてのフィールドを返す方法 – sub123