25

ネストされたオブジェクトの値に基づいて結果を並べ替えようとしています。を使用してnode-mongodb-native、私はこれを行っています:

    this.collection.find({
          "_id": ObjectID(item_id) }, 
        { "items": 1 },
        { sort : { items.date : 1 }
    }, function(err, result) {
        if (err) {
            callback(err);
        } else {
            callback(null, result);
        }
    });

の予期しないトークンエラーが発生しitems.dateます。

itemsオブジェクトの配列です。空の配列であるドキュメントもあれば、フィールドを含むデータを含むドキュメントもありdateます。

ありがとうございました!

4

1 に答える 1

52

ドット表記を使用する場合は、キー値を引用符で囲む必要があるため、sortオブジェクトは代わりに次のようになります。

sort: {
    "items.date" : 1
}

dateこれにより、各ドキュメントのitems配列の最小値で昇順で並べ替えられます

于 2012-08-20T02:16:49.380 に答える