次のようなドキュメントのコレクションがあるとします。
{
"_id": ObjectId("507f191e810c19729de860ea"),
"users": [{
"userId": ObjectId("507f1f77bcf86cd799439011"),
"deleted": false,
"updatedAt" ISODate("2013-10-17T20:46:22Z")
}, {
"userId": ObjectId("507f1f71baf40ea8438490fa"),
"deleted": false,
"updatedAt" ISODate("2013-10-17T22:19:10Z")
}]
}
ここで、削除されていない特定の userId を含む「users」サブドキュメントを持つドキュメントをクエリしているとします。つまり、クエリは次のようになります。
{"users.userId": ObjectId("507f1f77bcf86cd799439011"), "users.deleted": false}
返された結果セットをupdatedAt
、行内の一致したサブドキュメントの属性で並べ替えることができますか? そうでない場合、これを設定するより適切な方法はありますか? 現在キーに埋め込んでいるものの別のコレクションを作成しusers
、それで親ドキュメントを参照する必要がありますか?