2015-06-04 12 views
5

द्वारा छँटाई मैं पहली बार सबसे नई पोस्ट मिलता है, और प्रयास करने के लिए निम्नलिखित हैं:pymongo तारीख

db.posts.find({"date": {"$lt": tomorrow, "$gte": 
       today}}).sort({'date':pymongo.DESCENDING}) 

मैं इस त्रुटि हो रही है (तरह बिना, मैं सबसे पुराने पोस्ट सबसे पहले ठीक मिलता है)

TypeError: if no direction is specified, key_or_list must be an instance of list 

यहां क्या हो रहा है? क्या तिथि से क्रमबद्ध करना संभव नहीं है?

उत्तर

12

यह sort फ़ंक्शन के लिए पैरामीटर का सही प्रारूप नहीं है। सही सिंटैक्स कुछ इस तरह दिखेगा:

: http://api.mongodb.org/python/current/api/pymongo/cursor.html#pymongo.cursor.Cursor.sort

से अधिक पैरामीटर द्वारा क्रमबद्ध करने के लिए आप निम्न सिंटैक्स का उपयोग कर सकते हैं:

db.posts.find(...).sort('date',pymongo.DESCENDING) 

यहाँ sort समारोह के लिए प्रासंगिक दस्तावेज के लिए एक लिंक है

db.posts.find(...).sort([ 
    ('date', pymongo.ASCENDING), 
    ('other_field', pymongo.DESCENDING) 
]): 
3

PyMongo में आप भी इस कोशिश कर सकते हैं, अगर वहाँ .sort के लिए एक त्रुटि है ('तारीख', pymongo.DESCENDING)

db.posts.find().sort('date', -1) 
संबंधित मुद्दे