Монго GridFS найти с проблемой проекции - PullRequest
0 голосов
/ 10 октября 2019

Я пытаюсь сделать запрос с проекцией в GridFS следующим образом:

Files = gridfs.GridFS(db)
f = Files.find({'metadata.AgentId': '1234'}, {'_id':1})

И я получаю эту ошибку:

TypeError: skip must be an instance of int

Итак, инициализатор дляКурсор принимает {'_id': 1} в качестве третьего параметра >> skip.

С другой стороны, этот запрос нормально работает в оболочке Robo3T:

enter image description here

Есть идеи?

1 Ответ

1 голос
/ 10 октября 2019

В методе Gridfs.find отсутствует параметр projection.

https://api.mongodb.com/python/current/api/gridfs/index.html#gridfs.GridFS.find https://github.com/mongodb/mongo-python-driver/blob/master/gridfs/grid_file.py#L796-L802

Возможно, вам следует воспользоваться поиском коллекции. https://api.mongodb.com/python/current/api/pymongo/collection.html#pymongo.collection.Collection.find

db['fs.files'].find({'metadata.AgentId': '1234'}, {'_id':1})
...