私は、この文書があります。mongodbのドキュメントや埋め込みドキュメントで "_id"でソートするには?
{
"_id" : ObjectId("5993e9ee92cf241648002a97"),
"name" : "test"
"subcategories" : [
{
"_id" : ObjectId("59953f20f4b8cf0595720e62"),
"name" : "subtest",
},
{
"_id" : ObjectId("59953f20f4b8cf0595720e63"),
"name" : "subtest2",
}
]
},
{
"_id" : ObjectId("5993e9ee92cf241648002a98"),
"name" : "test2"
"subcategories" : [
{
"_id" : ObjectId("59953f20f4b8cf0595720e66"),
"name" : "subtest3",
},
{
"_id" : ObjectId("59953f20f4b8cf0595720e69"),
"name" : "subtest4",
}
]
}
をそして私はマングースを使っ_idの両方によって、文書や埋め込みドキュメントをソートしたいです。
このような何か:
categoryModel.find({ }).sort({ _id: 1, "subcategories._id": 1 }).exec(function (err, data) {});
しかし、私はちょうど"_id:1" 知っているが動作します。
どうすればいいですか?
あなたは何を意味するのですか?でそれを行いますかソート "ドキュメント"が返されますか?または、 "**ドキュメント内の配列要素**をソートする"が返されますか?また、配列が定義された順序で "格納"できないいくつかの理由がありますか?また、デフォルトでは、配列には「最新のもの」があることに注意してください。 –
@NeilLunn私の質問を更新する – WithoutBrain1994
サーバー側ですべてのカテゴリを選択し、 'サブカテゴリ 'を並べ替えることができます:' ... exec() .then(cats => { cats.each(cat => cat 'サブカテゴリ(サブカテゴリ)が必要なときになぜそれが必要なのですか? '配列はすでに' _id'によって順序付けされていますか? – alexmac