2010-07-17 43 views
8
嵌入的對象

假設我有在MongoDB的一些對象進行排序:如何在MongoDB中

{ 
"_id":xxx, 
"name":"mike", 
"children": [ 
       {"name":"A", "age":3}, 
       {"name":"B", "age": 5} 
      ] 
} 

如果我要得到這個「邁克」與他的孩子通過「年齡遞減」排序,我該怎麼辦?

我看過Mongoid(在rails中)和morphia(在Java中),沒有找到答案。

回答

4

我不知道有什麼辦法做到這一點。當他們回來的時候,您可能會想要在代碼中對孩子進行排序(Ruby,Java)。

這是Mongo的典型限制之一,您並不真正對服務器上的子對象進行「排序」。相反,您可以從數據庫中提取它們,然後根據需要對子對象進行排序。

+0

謝謝。在閱讀了MongoDB的文檔後,我仍然沒有找到辦法。我認爲你是對的,沒有辦法做到這一點:( – Freewind 2010-07-18 04:14:10

+0

這有點煩人,但它不應該是一個大問題。大多數語言(包括Ruby)使排序非常簡單,如果你只是排序小的集合,那麼在服務器或客戶端上執行它並不重要。 – 2010-07-19 03:32:57