#python #mongokit
#python #mongokit
Вопрос:
Использование Mongokit с Python. Возникли некоторые проблемы с получением последнего n количества записей. Не уверен в синтаксисе, который Python хочет здесь точно, но у меня есть:
record = collection.find(sort = [{'timestamp': DESCENDING}],limit=10)
Что выдает мне ошибку:
Traceback (most recent call last):
File "C:Python26libsite-packagesflask-0.6-py2.6.eggflaskapp.py", line 874, in __call__
return self.wsgi_app(environ, start_response)
File "C:Python26libsite-packagesflask-0.6-py2.6.eggflaskapp.py", line 864, in wsgi_app
response = self.make_response(self.handle_exception(e))
File "C:Python26libsite-packagesflask-0.6-py2.6.eggflaskapp.py", line 861, in wsgi_app
rv = self.dispatch_request()
File "C:Python26libsite-packagesflask-0.6-py2.6.eggflaskapp.py", line 696, in dispatch_reque
st
return self.view_functions[rule.endpoint](**req.view_args)
File "E:My DropboxCranktrainBlogcrankblogappsadminviews.py", line 24, in panel
record = collection.find(sort = [{'timestamp': DESCENDING}],limit=10)
File "C:Python26libsite-packagesmongokit-0.5.13.1-py2.6.eggmongokitcollection.py", line 67,
in find
return Cursor(self, *args, **kwargs)
File "C:Python26libsite-packagesmongokit-0.5.13.1-py2.6.eggmongokitcursor.py", line 35, in _
_init__
super(Cursor, self).__init__(*args, **kwargs)
File "C:Python26libsite-packagespymongo-1.9-py2.6-win32.eggpymongocursor.py", line 95, in __
init__
self.__ordering = sort and helpers._index_document(sort) or None
File "C:Python26libsite-packagespymongo-1.9-py2.6-win32.eggpymongohelpers.py", line 65, in _
index_document
for (key, value) in index_list:
ValueError: need more than 1 value to unpack
Любая помощь была бы отличной.
Ответ №1:
Вы должны предоставить ему [(field, direction), ...]
список, а не dict.
Спецификации сортировки обязательно должны быть упорядочены; dicts не упорядочены.
Не уверен, что вам нужно использовать список, попробуйте просто (field, direction)
.
Комментарии:
1. Да, это работает. Однако для этого требуется список (ключ, направление), в противном случае он расстраивается из-за ошибки типа.