我如何对嵌套文档进行排序:
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 %}
所以,如果我使用SORT
和LIMIT
然后返回namep
或prix
答案 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?