
- 作者: Niall O'Higgins
- 出版社/メーカー: Oreilly & Associates Inc
- 発売日: 2011/09/30
- メディア: ペーパーバック
- クリック: 8回
- この商品を含むブログを見る
この本では、
sortをするのに
users = dbh.users.find(
{"firstname":"jane"}).sort(("dateofbirth", pymongo.DESCENDING))
とか書いている。sort()メソッドの中身はタプル型のオブジェクト。
しかし、
self.col.find({'room_name' : room_name}).sort(('my_num', pymongo.ASCENDING))
とやると
Traceback (most recent call last):
File "/Users/shinriyo/.virtualenvs/flask/lib/python2.7/site-packages/gevent/greenlet.py", line 327, in run
result = self._run(*self.args, **self.kwargs)
File "/Users/shinriyo/.virtualenvs/flask/lib/python2.7/site-packages/socketio/virtsocket.py", line 403, in _receiver_loop
retval = pkt_ns.process_packet(pkt)
File "/Users/shinriyo/.virtualenvs/flask/lib/python2.7/site-packages/socketio/namespace.py", line 155, in process_packet
return self.process_event(packet)
File "/Users/shinriyo/.virtualenvs/flask/lib/python2.7/site-packages/flask_socketio/__init__.py", line 58, in process_event
return self.socketio._dispatch_message(app, self, message, args)
File "/Users/shinriyo/.virtualenvs/flask/lib/python2.7/site-packages/flask_socketio/__init__.py", line 127, in _dispatch_message
ret = self.messages[namespace.ns_name][message](*args)
File "app.py", line 288, in join
sorted_list = room_members.sort(room)
File "/Users/shinriyo/flask_app/socket_unity/models.py", line 99, in sort
res = self.col.find({'room_name' : room_name}).sort(('my_num', pymongo.ASCENDING))
File "/Users/shinriyo/.virtualenvs/flask/lib/python2.7/site-packages/pymongo/cursor.py", line 692, in sort
self.__ordering = helpers._index_document(keys)
File "/Users/shinriyo/.virtualenvs/flask/lib/python2.7/site-packages/pymongo/helpers.py", line 65, in _index_document
for (key, value) in index_list:
ValueError: too many values to unpack
のエラーが発生した。
Error while sorting in pymongo - Stack Overflow コチラの解説によると、
.sort(['score', pymongo.ASCENDING])
と質問者はしているが
.sort([ ['score', pymongo.ASCENDING] ])
のように[[]]の二重のリスト。。。。