Database 多次插入mongodb-仅更新第一个集合

Database 多次插入mongodb-仅更新第一个集合,database,mongodb,groovy,mlab,gmongo,Database,Mongodb,Groovy,Mlab,Gmongo,我正在尝试更新mlab上托管的mongodb实例中的集合 我正在运行以下代码: ... db.collectionOne.insert(someArrayOfJson) db.collectionTwo.insert(someArrayOfJson) 第一个集合得到更新,而第二个集合没有得到更新 使用相同/不同的有效Json数组会产生相同的结果。只有第一个得到更新 我看到了这个问题,我能理解为什么它不起作用。但我的问题是跨越两个不同的集合 当在mlab上手动插入数据时,文档将进入第二次收集,因

我正在尝试更新mlab上托管的mongodb实例中的集合

我正在运行以下代码:

...
db.collectionOne.insert(someArrayOfJson)
db.collectionTwo.insert(someArrayOfJson)
第一个集合得到更新,而第二个集合没有得到更新

使用相同/不同的有效Json数组会产生相同的结果。只有第一个得到更新

我看到了这个问题,我能理解为什么它不起作用。但我的问题是跨越两个不同的集合

当在mlab上手动插入数据时,文档将进入第二次收集,因此我相信它允许在不同的收集中重复数据

我是mongo的新手-我是否错过了一些简单的东西

更新:

答复是:

22:01:53.224 [main] DEBUG org.mongodb.driver.protocol.insert - Inserting 20 documents into namespace db.collectionTwo on connection [connectionId{localValue:2, serverValue:41122}] to server ds141043.mlab.com:41043
22:01:53.386 [main] DEBUG org.mongodb.driver.protocol.insert - Insert completed
22:01:53.403 [main] DEBUG org.mongodb.driver.protocol.insert - Inserting 20 documents into namespace db.collectionOne on connection [connectionId{localValue:2, serverValue:41122}] to server ds141043.mlab.com:41043
22:01:55.297 [main] DEBUG org.mongodb.driver.protocol.insert - Insert completed
但是对于第二个数据集,数据库中没有输入任何内容

更新v2:

如果我在两次插入后打电话,例如:

db.createCollection("log", { capped : true, size : 5242880, max : 5000 } )

数据收集得到更新

您如何确定第二个集合没有更新


我相信您只是看到了NoSQL和SQL数据库之间的区别。SQL数据库将保证成功写入后的读取将读取刚刚写入的数据NoSQL数据库不能保证您可以立即读取刚刚写入的数据。有关详细信息,请参阅

您如何确定第二个集合没有更新


我相信您只是看到了NoSQL和SQL数据库之间的区别。SQL数据库将保证成功写入后的读取将读取刚刚写入的数据NoSQL数据库不能保证您可以立即读取刚刚写入的数据。有关详细信息,请参阅

什么是总数据大小

这是它为我工作的示例代码

db.collectionOne.insert([{“name1”:“John”,“age1”:30,“cars1”:[“Ford”,“BMW”,“Fiat”]},{“name1”:“John”,“age1”:30,“cars1”:[“Ford”,“BMW”,“Fiat”]});db.collectionTwo.插入([{“名称2”:“约翰”、“年龄2”:30,“汽车2”:[“福特”、“宝马”、“菲亚特”]},{“名称2”:“约翰”、“年龄2”:30,“汽车2”:[“福特”、“宝马”、“菲亚特”]})

如果数据更多,您可以使用“”,也可以参考Mongo DB限制和阈值


什么是总数据大小

这是它为我工作的示例代码

db.collectionOne.insert([{“name1”:“John”,“age1”:30,“cars1”:[“Ford”,“BMW”,“Fiat”]},{“name1”:“John”,“age1”:30,“cars1”:[“Ford”,“BMW”,“Fiat”]});db.collectionTwo.插入([{“名称2”:“约翰”、“年龄2”:30,“汽车2”:[“福特”、“宝马”、“菲亚特”]},{“名称2”:“约翰”、“年龄2”:30,“汽车2”:[“福特”、“宝马”、“菲亚特”]})

如果数据更多,您可以使用“”,也可以参考Mongo DB限制和阈值


您是否将此作为交易的一部分?两个集合都存在吗?两个集合的唯一键/索引是什么?您是否对文档数组使用相同或不同的变量?不是事务的一部分。索引是不同的(在调用之前,集合被删除-插入将重新创建它们)。有趣的是,如果我在第二次调用后使用新名称调用db.createcollection,两个集合都会得到更新我已经用与上述相关的信息更新了问题;设x2=[{name:'c'},{name:'d'}]然后
db.one.insert(x1);db.two.insert(x2)
在shell中运行非常适合我使用MongoV4和clean数据库。也许这个例子可以帮助你理解你的想法case@JohnM这是否也发生在本地MongoDB部署中,或者仅发生在mLab上?您这样做是作为事务的一部分吗?两个集合都存在吗?两个集合的唯一键/索引是什么?您是否对文档数组使用相同或不同的变量?不是事务的一部分。索引是不同的(在调用之前,集合被删除-插入将重新创建它们)。有趣的是,如果我在第二次调用后使用新名称调用db.createcollection,两个集合都会得到更新我已经用与上述相关的信息更新了问题;设x2=[{name:'c'},{name:'d'}]然后
db.one.insert(x1);db.two.insert(x2)
在shell中运行非常适合我使用MongoV4和clean数据库。也许这个例子可以帮助你理解你的想法case@JohnM这种情况是否也发生在本地MongoDB部署中,或者仅发生在mLab上?“您是如何确定第二个集合没有得到更新的?”-我登录到mLab并check@JohnM你的程序是用什么语言写的?您标记了它
groovy
,但是
groovy
应该使用Java MongoDB驱动程序,它使用
insertOne()
insertMany()
而不是
insert()
。如果将文档插入3个集合,会发生什么?如果你使用一个大多数人的书面关注,会发生什么,journaled?使用Gmongo:-但那只是一个wrapper@JohnMGmongo非常古老,不受支持,您看到的行为可能是由于MongoDB写入的异步性质存在某种问题,并且可能与它使用的过时Java驱动程序不兼容。据我所知,Gmongo使用的是mongodbjava驱动程序的2.13.0版本,而最早支持的版本是2.13.3,当前版本是3.8.2。我强烈建议转储Gmongo并直接使用。“您是如何确定第二个集合没有得到更新的?”-我登录到Mlab并check@JohnM你的程序是用什么语言写的?您标记了它
groovy
,但是
groovy
应该使用Java MongoDB驱动程序,它使用
insertOne()
insertMany()
而不是
insert()
。如果将文档插入3个集合,会发生什么?如果你使用一个大多数人的书面关注,会发生什么,journaled?使用Gmongo:-但那只是一个wrapper@JohnMGmongo非常古老,不受支持,而且