MongoDb に次のデータがあるとします。
{ "_id" : ObjectId("1"), "name" : "call", "hour": 10, "number" : 14 }
{ "_id" : ObjectId("2"), "name" : "call", "hour": 11, "number" : 100 }
{ "_id" : ObjectId("3"), "name" : "call", "hour": 12, "number" : 200 }
MongoDb からクエリを実行して、どの時間が最も呼び出し回数が多いかを示したいので、クエリを実行した後の結果は次のようになります (行全体を表示したい):
{ "_id" : ObjectId("3"), "name" : "call", "hour": 12, "number" : 200 }
MongoDb には独自の max() 関数があることがわかりましたが、このようには機能しません。この単純なクエリの実行方法を誰か教えてもらえますか?
kijさんのアイデアありがとうございます。したがって、次のようにクエリすると:
db.xxx.find({name:"call"}).sort({number:-1}).limit(1)
私が望む正しい結果が得られます。しかし、それはかなり愚かです。他にもっと直接的な方法はありますか?