如何使用集合在 pymongo/python 中创建 for 循环?
How to make a for loop in pymongo/python with collections?
如何在 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:强制转换为 Unicode:需要字符串或缓冲区,找到字典
PyMongo documentation 表示如果您想使用表示其名称的字符串从 PyMongo 数据库访问集合,则使用方括号表示法而不是点表示法:
bulk_demographics = db[item].demographics
如何在 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:强制转换为 Unicode:需要字符串或缓冲区,找到字典
PyMongo documentation 表示如果您想使用表示其名称的字符串从 PyMongo 数据库访问集合,则使用方括号表示法而不是点表示法:
bulk_demographics = db[item].demographics