метод pymongo find_one работает, но метод find не работает - PullRequest
0 голосов
/ 26 октября 2018

Я пытаюсь использовать простое выражение запроса:

df = db.persons.find_one({"name.first": "victor"})

Это отлично работает.Когда я пытаюсь выполнить тот же запрос с использованием метода find, возвращаемое значение пустое.

df = db.persons.find({"name.first":"victor"})

Моя цель - выражение запроса с 2 аргументами "name.first" : "victor" и "name.last":"perdensen".Я также пытался $and оператор.

df = db.persons.find({"$and": [{"name.first": "victor"}, {"name.last": "pedersen"}]})

Оба запроса с использованием компаса у меня не было проблем.

1 Ответ

0 голосов
/ 26 октября 2018

Хотя find_one() возвращает dict, если данные доступны, find() возвращает итератор, поскольку может быть более одного документа json.

Так что если вы получите результат запроса с помощью find_one(), вы также получите результат с find(), но на этот раз вы должны получить к нему доступ в цикле for.

df = db.persons.find({"name.first": "victor"})
for df1 in df:
    print(df1) # here you get the result
...