2017-05-05 62 views
0

對象字段考慮以下結構:如何訂購的價值MongoDB的

"label_5" : { 
    "ranks" : { 
     "hotel_1" : 0.738805199017347, 
     "hotel_2" : 0.17653657117268828, 
     "hotel_3" : 0.04071552339502227, 
     "hotel_4" : 0.12543627348684705, 
     "hotel_5" : 0.375692808082533, 
     "hotel_6" : 0.6796857473988642, 
     "hotel_7" : 0.18080608668170495 
    } 
}, 
"label_6" : { 
    "ranks" : { 
     "hotel_1" : 0.40339830434450485, 
     "hotel_2" : 0.7106559576870051, 
     "hotel_3" : 0.6349776144488348, 
     "hotel_4" : 0.4260347490574752, 
     "hotel_5" : 0.6244178232434163, 
     "hotel_6" : 0.6569190693595632, 
     "hotel_7" : 0.16378308796300156, 
     "hotel_8" : 0.16766423698668875, 
     "hotel_9" : 0.7319011899938765 
    } 
}, 
"label_7" : { 
    "ranks" : { 
     "hotel_1" : 0.33694055774124787, 
     "hotel_2" : 0.4293637949091027, 
     "hotel_3" : 0.7925947261514583, 
     "hotel_4" : 0.8867890134535386, 
     "hotel_5" : 0.7927268526887514, 
     "hotel_6" : 0.09449794446136539 
    } 
} 

labels集合, 和下面的代碼:

db.collection("labels").find({},{label_6:1, label_5:1}) 

我怎麼能由他們的價值的酒店排序?

+1

您可以更新您的問題,以顯示你正在尋找的輸出? – JohnnyHK

+0

@JohnnyHK經過一些更多的研究後,我明白了我無法做到這一點,因爲如果我的數據是用文檔組織的,而我的數據是在一個文檔中組織的,那麼我只能進行排序。我對麼? – Ben

回答

0

如果您正在尋找由特定的酒店排序,你可以使用.sort({"ranks.hotel_1":1})