我在使用 Motor 的聚合函数时遇到了no fetch_next
异常
代码是
cursor = db[collection].aggregate(myPipeline, cursor = {} )
if (yield cursor.fetch_next):
obj = bson.json_util.dumps(cursor.next_object())
self.write(obj)
打嗝了以下
例外::'TracebackFuture' 对象没有属性 'fetch_next'
然后我尝试了在 SO question 中找到的以下内容
cursor = yield motor.Op(db[collection].aggregate, x_query)
提供了同样的例外。
在 Mongo shell 中运行聚合会产生真正的结果
"result" : [
{
"_id" : "Adam",
"num" : 110
},
{
"_id" : "Argyle",
"num" : 77
},
{
"_id" : "Net Valley",
"num" : 67
},
{
"_id" : "Notts Farm",
"num" : 64
},
{
"_id" : "Sam's Place",
"num" : 59
},
{
"_id" : "Tilly",
"num" : 58
},
{
"_id" : "Xavier",
"num" : 52
}
],
"ok" : 1
Motor 没有提供这样的问题find
和`find_one。事实上,它在其他方面工作得很棒。
安装是通过pip install motor
在 Ubuntu 上完成的。
干杯