python 2.7 через pymon go не показывает те же данные, что оболочка MongoDB - PullRequest
0 голосов
/ 23 января 2020

У меня есть некоторые тестовые данные в коллекции MongoDB, которые я могу проверить с помощью оболочки MongoDB:

> db
myDatabase
> show collections
cotacoes
> db.cotacoes.find({  "_id": "EURUSD", "trim_data.trimestre": "2020T1", "trim_data.day_data.date": "2020/01/22" }).pretty()
{
        "_id" : "EURUSD",
        "trim_data" : {
                "day_data" : {
                        "date" : "2020/01/22",
                        "hour_data" : {
                                "data" : {
                                        "ASK" : "1.1088",
                                        "BID" : "1.1086"
                                },
                                "time" : "19:46:35"
                        }
                },
                "trimestre" : "2020T1"
        }
}

Когда я пытаюсь получить те же данные, используя pymon go в Python 2.7, Я просто получаю пустой курсор:

C:\Files\Python\scripts>python mongotest.py
<pymongo.cursor.Cursor object at 0x0000000004039208>
0

Мой python скрипт:

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["myDatabase"]
mycol = mydb["cotacoes"]

cursor1 = mydb.mycol.find({  "_id": "EURUSD", "trim_data.trimestre": "2020T1", "trim_data.day_data.date": "2020/01/22" })
print(cursor1)
print(cursor1.count())

Как я могу получить данные из базы данных MongoDB в Python? Спасибо!

1 Ответ

1 голос
/ 23 января 2020

Удаление «mydb» из команды поиска было достаточно, чтобы получить ожидаемый результат:

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["myDatabase"]
mycol = mydb["cotacoes"]

cursor1 = mycol.find({  "_id": "EURUSD", "trim_data.trimestre": "2020T1", "trim_data.day_data.date": "2020/01/22" }, {"$snapshot": True})
print(cursor1)
print(cursor1.count())

результат:

<pymongo.cursor.Cursor object at 0x0000000003A4DEC8>
1
...