万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    PythonとPyMongoのソート(sort()メソッド)のエラー

    MongoDB and Python

    MongoDB and Python

    この本では、 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] ])

    のように[[]]の二重のリスト。。。。