2013-01-22 41 views
6

在命令行中,這個工程:如何使用pymongo連接到現有文檔集合/ db?

$ mongo 
> show dbs 
mydatabase 1.0GB 

然而,這並不:

$ python  
>>> import pymongo 
>>> connection = pymongo.MongoClient() 
>>> connection.mydatabase.find() 

我通過文檔讀到這裏:

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

但不知道如何以...

  1. 連接到現有數據庫(使用pymongo)
  2. 查詢mongodb連接中存在的數據庫。

爲什麼我無法訪問我的數據庫?

+1

咦,最近有人碰到這個問:我甚至不記得問。這顯然是我的第一個孟戈問題。我現在每天做這十億次,甚至沒有注意到有一次我不明白它...... – Mittenchops

回答

1

show dbsfind()是完全不同的命令,因此您無法比較兩者。

connection.mydatabase.find() 

其實不會做任何事情,因爲你不能在數據庫級別find()文件。您可能正在尋找:

cursor = connection.mydatabase.mycol.find() 

我不是Python程序員,但類似的東西和foreachcursor變種,讓您的數據。

作爲補充說明,您需要用包含文檔的集合名稱替換mycol

至於查詢的數據庫列表,你可以這樣做:

databases = connection.mydatabase.command({'listDatabases': 1}); 

如下所示:http://docs.mongodb.org/manual/reference/command/listDatabases/#listDatabases

但是我再次沒有Python程序員,但這應該讓你開始。

2

蟒命令行:

import pymongo 
from pymongo import MongoClient 
connection = MongoClient() ## connects by default to db at localhost:27017 
connection.database_names() ## python binding equivalent to show dbs. 

雖然似乎沒有成爲一個豐富的實例,它出現的綁定是Python Driver API Documentation內相當完整。