用pymongo排序嵌套文档

时间:2012-09-04 19:48:55

标签: python tornado pymongo

我如何对嵌套文档进行排序:

produits = self.db.users.find({"email":email}, {"produit_up":1,"_id":0}).sort(("produit_up.namep"), pymongo.DESCENDING)

这不行!

这是我的架构:

user={
"pseudo":pseudo,
"email":email, 
"avatar":avatar_id
"produit_up":{
"namep":namep, 
"prix":prix, 
}
}

一切都没有排序,我只使用produits = self.db.users.find_one({“email”:email})[“produit_up”],在我的模板中我只是打电话:

{% for produit in list(produits) %}
{{ produit["namep"] }}  
{{ produit["prix"] }}
....
{% end %}

所以,如果我使用SORTLIMIT然后返回namepprix

,我该怎么做呢?

2 个答案:

答案 0 :(得分:1)

# find_one document with sort.
db.produit.find_one({"email": "email"}, { "produit_up" : 1,"_id" : 0 }, sort=[("produit_up.namep", 1)])

# find all document with sort and limit at last 10 document.
db.produit.find({"email": "email"}, { "produit_up" : 1,"_id" : 0 }, sort=[("produit_up.namep", 1)]).limit(10)

答案 1 :(得分:0)

好的,提示是使用python列表,然后使用密钥对其进行排序 How do I sort a list of dictionaries by values of the dictionary in Python?