有关Spring引导,Mongo4.0,Spring数据应用程序的问题。
我已经从MongoDB 3.6.x升级到MongoDB 4.0,并将Spring data 2.0.x升级到Spring-data 2.1.0,以便在将数据插入多个文档时进行事务管理。但是在这里,我在创建数据库,收集并将文档插入到收集中时会遇到此问题。
问题
Cannot create namespace sampledb_200.demo in multi-document transaction
这里 sampldb_200 是数据库名称,演示是集合名称。在早期的mongodb3.6.X版本(Spring Data 2.0.x)中,即使数据库和集合都不存在,我也可以同时进行数据库,集合创建,文档插入。
使用Spring Data 2.1.0,MongoDB 4.0,数据库,集合创建和插入不会在一个功能和数据库下发生,而是必须明确地进行集合创建。
最佳答案
Spring正在拥抱MongoDB 4.0附带的一项新功能,该功能支持多文档事务。该功能仅适用于现有集合,即,多文档事务不能包含将导致创建新集合的插入操作。您应该先创建自己的收藏集才能使用此功能。