每个文档我都有这个结构:
{
"_id": NumberInt(781),
"link_id": {
"11617": {
"thumb_position": NumberInt(654),
"last_scan": NumberInt(1362671892),
"row_numb": NumberInt(0),
"clicks": NumberInt(0)
},
"11623": {
"thumb_position": NumberInt(562),
"last_scan": NumberInt(1362671892),
"row_numb": NumberInt(0),
"clicks": NumberInt(0)
},
"11689": {
"thumb_position": NumberInt(93),
"last_scan": NumberInt(1362671892),
"row_numb": NumberInt(0),
"clicks": NumberInt(0)
}, {...}
}
事实是我想通过 thumb_position 订购。我正在使用: $res = $collection->find(array("_id" => intval(781)))->sort(array('link_id.thumb_position' => 1))
它不工作。我试过 ->sort(array('link_id.$.thumb_position' => 1)) 或 ->sort(array('thumb_position' => 1)) 和相应的 $collection->ensureIndex。没运气。我见过一些排序的例子,但它们都与排序文档有关,文档内部没有排序。有任何想法吗?!多谢!