0

gridfsノンブロッキングの gridfs を受け入れず、ノンブロッキングの他の呼び出しのみを受け入れるライブラリで使用するにはどうすればよいですか? エラーが発生しました:

from mongotor.database import Database
import gridfs
db = Database.connect("localhost:27017", "mydb")
fs = gridfs.GridFS(db)

---------------------------------------------------------------------------
TypeError                                 
Traceback (most recent call last)
<ipython-input-4-e0f456d7d574> in <module>()
----> 1 fs = gridfs.GridFS(db)

C:\Python27\lib\site-packages\pymongo-2.3_-py2.7-win-amd64.egg\gridfs\__init__.pyc in     __init__(self, database, collection)
 49         """
 50         if not isinstance(database, Database):
---> 51             raise TypeError("database must be an instance of Database")
 52 
 53         self.__database = database

TypeError: database must be an instance of Database

gridfs は BLOCKING データベースのみを使用する必要があることを理解します ? (ピモンゴ)

それで、私はpymongoとmongotorを使用しますか、それから私は得ました:

from mongotor.database import Database
from pymongo import Connection
import gridfs
db = Database.connect("localhost:27017", "mydb")
dbb = Connection().mydb
fs = gridfs.GridFS(dbb)

dbb提供する画像がある場合にのみ使用されますか?もちろん、db呼び出しをブロックしますか?誰かが写真をリクエストしている場合、私のノンブロッキングコールはブロックされますか?

4

1 に答える 1

2

問題は、pymongo と mongotor を混在させていることです... mongotor のデータベース実装は pymongo のデータベース実装とは異なり、それらを一緒に使用することはできません

MongoTor はまだ gridfs をサポートしていませんが、mongotor のような非同期ドライバーである Motor が提供する gridfs を使用できます。

http://emptysquare.net/motor/pymongo/api/motor/examples/gridfs.html

于 2012-11-13T17:49:27.970 に答える