【发布时间】:2012-03-28 15:48:54
【问题描述】:
我有这样的收藏:
"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({"Folders.$.Ord":1}) ;
我无法得到预期的正确订单!
有什么想法吗??我应该为此使用 Map reduce 吗?怎么样?
谢谢!
【问题讨论】:
标签: php arrays sorting mongodb object