我有這類型的集合:PHP /蒙戈DB:如何通過特定的陣列排序屬性
"File"
{
"_id" : { "$oid" : "4f730e3bb8be296910000180"}
, "Name" : "File1.jpg"
, "Folders" : [
{ "F_id" : { "$oid" : "4f72f503b8be296d78000166"} , "Ord" : 1}
, { "F_id" : { "$oid" : "4f730eedb8be296e78000180"} , "Ord" : 3}
]
}
{
"_id" : { "$oid" : "4f730e3ab8be296978000181"}
, "Name" : "File2.jpg"
, "Folders" : [
{ "F_id" : { "$oid" : "4f72f503b8be296d78000166"} , "Ord" : 2}
, { "F_id" : { "$oid" : "4f730eedb8be296e78000180"} , "Ord" : 2}
, { "F_id" : { "$oid" : "4f730eedb8be296e78000132"} , "Ord" : 1}
]
}
{
"_id" : { "$oid" : "4f730e38b8be296e78000182"}
, "Name" : "File3.jpg"
, "Folders" : [
{ "F_id" : { "$oid" : "4f72f503b8be296d78000166"} , "Ord" : 3}
, { "F_id" : { "$oid" : "4f730eedb8be296e78000180"} , "Ord" : 1}
]
}
「文件夾」可以包含很多元素,並體現在哪個文件夾「F_ID」的文件可用,並按照該文件夾中的「Ord」順序發送。
然後,我想簡單地以正確的順序獲取一個文件夾中的所有文件。
但是,當我做這樣的事情:
File.find({ 「Folders.F_id」:{ 「$ OID」:4f72f503b8be296d78000166}})的.sort({ 「文件夾$奧德。」:1} );
我無法獲得我期望的正確訂單!
任何想法??我應該使用Map reduce嗎?怎麼樣 ??
謝謝!