如何使用pymongo连接到现有文档集/ db?

Mit*_*ops 8 python mongodb pymongo

在命令行上,这有效:

$ mongo
> show dbs
mydatabase   1.0GB
Run Code Online (Sandbox Code Playgroud)

但是,这不是:

$ python    
>>> import pymongo
>>> connection = pymongo.MongoClient()
>>> connection.mydatabase.find()
Run Code Online (Sandbox Code Playgroud)

我在这里阅读文档:

http://api.mongodb.org/python/current/tutorial.html

但是不明白怎么做......

  1. 连接到现有数据库(使用pymongo)
  2. 查询mongodb连接中存在哪些数据库.

为什么我无法访问我的数据库?

Tal*_*lin 10

连接到现有数据库

import pymongo
from pymongo import MongoClient
connection = MongoClient()
db = connection.mydatabase
Run Code Online (Sandbox Code Playgroud)

列出现有数据库

import pymongo
from pymongo import MongoClient
connection = MongoClient()
connection.database_names()
Run Code Online (Sandbox Code Playgroud)


The*_*Pea 6

该问题暗示用户有一个本地 MongoDB。然而我在尝试连接到远程MongoDB 时发现了这个问题。我认为该教程值得一提(这里没有其他答案提到我如何指定主机和端口)

上面的代码将在默认主机和端口上连接。我们还可以显式指定主机和端口,如下所示:

client = MongoClient('localhost', 27017)

或者使用 MongoDB URI 格式:

client = MongoClient('mongodb://localhost:27017/')

  • 是的。我认为我的答案很新颖,可能会对其他提出这个问题的人有所帮助。 (3认同)