如何在pymongo中对所有集合进行循环迭代?
我有这样的代码:
for index, item in enumerate(list_courses):
bulk_demographics = "db." + item + ".demographics"
for i in bulk_demographics.find({"user_id":1}).limit(1):
print i
"list_courses"包含我的mongo数据库中所有不同的集合名称。
似乎错误来自concat动作,因为当我直接粘贴集合的名称时,它工作得很好。
这是我得到的错误:
TypeError Traceback (most recent call last)
<ipython-input-33-cb93513f793d> in <module>()
1 for index, item in enumerate(list_courses):
2 bulk_demographics = "db." + item + ".demographics"
----> 3 for i in bulk_demographics.find({"user_id":1}).limit(1):
4 print i
TypeError: coercing to Unicode: need string or buffer, dict found
PyMongo文档指出,如果您想使用代表其名称的字符串从PyMongo数据库访问集合,则使用括号表示法而不是点表示法:
bulk_demographics = db[item].demographics