4

クエリの結果をjavascriptvarialbeに保存する方法に関していくつか質問がありますが、私はそれらを実装することができません。重要なのは、私には非常に難しい質問があるので、この質問は私の意見ではユニークです。

ここに問題があります。「drives」という名前のコレクションと「driveDate」という名前のキーがあります。日付が最小の変数を1つ、日付が最大の変数を1つ保存する必要があります。

最小の日付のクエリは次のとおりです。

> db.drives.find({},{"_id":0,"driveDate":1}).sort({"driveDate":1}).limit(1)

結果は次のとおりです。

{ "driveDate" : ISODate("2012-01-11T17:24:12.676Z") }

これを変数に保存する方法、次のようなことができますか?

tmp = db.drives.find({},{"_id":0,"driveDate":1}).sort({"driveDate":1}).limit(1)

ありがとう!!!

4

2 に答える 2

12

シェルでこれを実行しようとしていると仮定します。

 tmp = db.drives.find({}, {_id:0, driveDate:1}).sort({driveDate:1}).limit(1).toArray()[0]

find実際のドキュメントを取得するために繰り返す必要のあるカーソルを返します。カーソルを呼び出すtoArrayと、カーソルがドキュメントの配列に変換されます。

于 2012-12-02T19:32:15.183 に答える
4

しばらく理解した後、私は解決策を得ました。これは、将来の参考のために、ここにあります:

var cursor = db.drives.find({},{"_id":1}).sort({"driveDate":1}).limit(1)

次に、このようにカーソルからドキュメントを取得できます

var myDate = cursor.next()

それでおしまい。ご協力いただきありがとうございます

于 2012-12-03T07:59:36.920 に答える