2015-10-14 18 views
1

如果我的问题很天真,请致歉,我是python的新手,我正在尝试使用pymongo使用集合。我曾尝试使用如何使用Python在Mongo中提取集合?

collects = db.collection_names(); #This returns a list with names of collections 

提取的名字但是,当我尝试使用

cursor = db.collects[1].find(); #This returns a cursor which has no reference to a collection. 

我明白,上面的代码中使用一个字符串,而不是一个对象来获得光标。所以,我想知道我怎么能做到保持在DB各个集合,我以后可以用它来执行搜索操作和更新等

回答

1

如果您使用的是pymongo驱动程序,您必须使用get_collection方法或字典式查找代替。您可能还需要到include_system_collections设置为collection_namesFalse,所以你不包括系统集合(如system.indexes)

import pymongo 

client = pymongo.MongoClient() 
db = client.db 
collects = db.collection_names(include_system_collections=False) 
cursor = db.get_collection(collects[1]).find() 

cursor = db[collects[1]].find() 
1

Sry基因的光标的这个任务,我不能创建一个回应还,但你有没有试过?:

cursor = db.getCollection(collects[1]).find(); 
+0

这是真棒,现在它正常工作对我来说....非常感谢你@Friwi – srajappa

+0

如果@ Friwi的答案令人满意,习惯上接受答案。一个是因为答案对你有帮助,其次是其他用户知道这个问题已经解决。 – reticentroot

相关问题