2016-04-09 13 views
3

Python ve MongoDB'de yeni konumdayım ve flask-python ve MongoDB ile yeni bir projeye başlıyorum.komut imleci 'object abone değil

Data = db.mytable.aggregate([ { "$group": {"_id": "$Name" ,"count": { "$sum": 1 }}}],userCursor= False) 
: Ben de bu değişti

Data = db.mytable.aggregate([ { "$group": {"_id": "$Name" ,"count": { "$sum": 1 }}}]) 
return Data['result'] 

:

İşte

command cursor' object is not subscriptable.

sorgu için kodum: Ben aggregate() fonksiyonunu kullanarak veri dönen yapmaya çalışırken, bana aşağıdaki hatayı veriyor

ama bana aşağıdaki hatayı veriyor:

error.pymongo.errors.OperationFailure: command SON([('aggregate', 'mytable'), ('pipeline', [{'$group': {'_id': '$Name', 'count': {'$sum': 1}}}]), ('useCursor', False)]) on namespace mydb.$cmd failed: unrecognized field 'useCursor

Not: Ben Pymongo 3,0 yana MongoDB 3.2 ve Python3

cevap

4

kullanıyorum, .aggregate() yöntem __getitem__() yöntemini uygulamayan bir CommandCursor dönün. Bunun yerine işlevinize/yönteminize cursor nesnesini döndürmenizi veya bu gibi bir listeye dönmenizi öneririm: return list(Data)

+0

ama ben verim (Data) değerini veririm ['waitedMS', 'ok', 'result' ] –

+1

Bu yalnızca 3.0'dan önceki sürümde olur; bu durumda Veri ['result'] 'düzgün çalışır. Hangi Pymongo versiyonundasınız? – styvane

+0

Ben pymongo 2.8 –

İlgili konular