我想探索MongoDB的新事务功能,并使用Spring Data MongoDB。但是,我收到异常消息“ 此客户端连接到的MongoDB群集不支持会话 ”。任何有关MongoDB 3.7.9的配置的提示都值得赞赏。
stacktrace以以下内容开头:
com.mongodb.MongoClientException :该客户端在com.mongodb.MongoClient.startSession(MongoClient.java:555)〜[mongodb- driver-3.8.0-beta2.jar:na)连接到的MongoDB群集不支持会话] org.springframework.data.mongodb.core.SimpleMongoDbFactory.getSession(SimpleMongoDbFactory.java:163)〜[spring- data-mongodb-2.1.0.DATAMONGO-1920-SNAPSHOT.jar:2.1.0.DATAMONGO-1920-快照]
当我尝试将其连接到单个独立的mongo实例时,我遇到了同样的问题,但是,如官方文档中所述,Mongo支持副本集的事务功能。因此,然后我尝试在MongoDB 4.0.0上创建一个包含所有实例的副本集,从而能够成功执行代码。因此,启动一个副本集(3个成员),然后尝试执行代码,此问题将得到解决。
注意:您可以在同一台计算机上配置一个副本集以进行测试https://docs.mongodb.com/manual/tutorial/deploy- replica-set-for-testing/