Подключение к MongoDB с помощью PyMongo на ноутбуке Jupyter - PullRequest
0 голосов
/ 24 февраля 2019

Я создал учетную запись в Atlas и сейчас пытаюсь получить некоторую информацию из базы данных.Мой родной язык - R, поэтому я вставил набор данных "iris" в коллекцию "table".Чтобы показать, что в моей новой базе данных «test» есть данные, я использую команду mongolite (это R pymongo):

#m is my client connection
m$count()
[1]5490

Проблема связана с Python.Я в настоящее время на ноутбуке Jupyter.Вот код.

import pymongo as pm
import pprint
import requests

url= "mongodb://jordan:*************@jordandb-shard-00-00-ykcna.mongodb.net:27017,jordandb-shard-00-01-ykcna.mongodb.net:27017,jordandb-shard-00-02-ykcna.mongodb.net:27017/test?ssl=true&replicaSet=JordanDB-shard-0&authSource=admin&retryWrites=true"

client = pm.MongoClient(url)
print(client)
[out]Database(MongoClient(host=['jordandb-shard-00-02-ykcna.mongodb.net:27017', 'jordandb-shard-00-01-ykcna.mongodb.net:27017', 'jordandb-shard-00-00-ykcna.mongodb.net:27017'], document_class=dict, tz_aware=False, connect=True, ssl=True, replicaset='JordanDB-shard-0', authsource='admin', retrywrites=True), 'test')
#I am assuming this means I am connected

Когда я вызываю какие-либо методы в базе данных, я получаю сообщение об ошибке.

db = client.test #test is name of collection
db.iris.find_one({})

ServerSelectionTimeoutError               Traceback (most recent call last)
<ipython-input-15-ab74ef5f0195> in <module>()
----> 1 db.iris.find_one({})

/opt/conda/lib/python3.6/site-packages/pymongo/collection.py in find_one(self, filter, *args, **kwargs)
   1260 
   1261         cursor = self.find(filter, *args, **kwargs)
-> 1262         for result in cursor.limit(-1):
   1263             return result
   1264         return None

Я хотел бы иметь возможность подключиться и начать исследовать данные вмой «тестовый» набор данных с использованием таких методов, как list_database_names (), list_collection_names () и т. д. Спасибо.

...