如何从MongoDB ClientSession获取数据库和集合

时间:2018-08-06 10:09:57

标签: mongodb pymongo pymongo-3.x

我正在尝试建立与数据库的连接-在pymongo 3.7.1中使用ClientSession进行收集。从文档https://docs.mongodb.com/manual/core/transactions/此处提供的示例中,似乎可以连接到数据库和游标。

我尝试了一些非常相似的事情:

import pymongo
client = pymongo.MongoClient('mongodb://localhost:27017')  
session = client.start_session()   
session.get_database('test')  

但是最后一行引发以下异常:

  

AttributeError:“ ClientSession”对象没有属性“ get_database”

我还尝试了另外两个直接访问数据库的方法:

session['test_database']
session.test_database

其中提出:

  

TypeError:“ ClientSession”对象没有属性“ getitem
  AttributeError:'ClientSession'对象没有属性'db_test'

ClientSession的行为如何?显然is不是从Client对象继承的,否则上一行会起作用...

有人有想法吗?

1 个答案:

答案 0 :(得分:0)

我刚刚发现的编辑,我必须使用session.clientClient检索ClientSession