ネストされたオブジェクトの値に基づいて結果を並べ替えようとしています。 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
フィールドを含むデータを含むドキュメントもあります。
ありがとうございました!
ドット表記を使用する場合は、キー値を引用符で囲む必要があるため、代わりにsort
オブジェクトは次のようになります。
sort: {
"items.date" : 1
}
これにより、各ドキュメントのdate
配列の最小items
値で昇順で並べ替えられます