我有一个存储库,我想以编程方式保存在两个不同的MongoDB数据库中。
如果用户输入带有参数DB1的URL,则存储库将保存在数据库DB1(如果是DB2)内部,到数据库DB2等。
有什么办法吗?
答案 0 :(得分:0)
不是自动的。您需要将应用程序连接到2个DB,并根据请求中的参数调用每个DB。据我所知,您将需要两个单独的存储库。
答案 1 :(得分:0)
不可能轻易地使用存储库(使用多个存储库并稍加修改,因为我们不能使用一个,因为URL中的每个参数都是疯狂的。
因此,为了避免大量重复的代码,我们必须使用Java驱动程序。
MongoClient mongoClient = new MongoClient("localhost", 27017);
//here we can change the database name
MongoOperations mongoOperations = new MongoTemplate(mongoClient, database);
mongoOperations.save(YOUR_POJO);
mongoClient.close();
POJO对象必须使用de @Document
注释,否则将出现编解码器问题。在这里您可以解决它们:http://mongodb.github.io/mongo-java-driver/3.2/bson/codecs/