是否可以使用pymongo将变量用于集合名称?

ehs*_*adi 22 python mongodb pymongo

是否可以使用pymongo将变量用于集合名称?例如:

col = 'my_collection'
db.col.update()
Run Code Online (Sandbox Code Playgroud)

Ash*_*lla 45

您可以使用:

col = 'my_collection'
db[col].update()
Run Code Online (Sandbox Code Playgroud)

参考


小智 6

您正在尝试从字符串中调用方法.这不是pymongo特有的.

您可以使用getattr查看字符串是否作为db对象的属性存在,然后调用它.

例如

my_collection = getattr(col, 'my_collection')
my_collection.update()
Run Code Online (Sandbox Code Playgroud)

编辑:请注意,使用getattr方法允许在字符串不是方法或属性的情况下进行异常处理col.