Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Mongdb在创建初始集合时跳过插入_Java_Mongodb - Fatal编程技术网

Java Mongdb在创建初始集合时跳过插入

Java Mongdb在创建初始集合时跳过插入,java,mongodb,Java,Mongodb,似乎在最初创建集合时,有一段时间您无法插入文档。所以运行下面的代码,我只得到第一个插入 Mongo mongo = new Mongo("localhost", 27017); DB db = mongo.getDB( "workqueue" ); DBCollection coll = db.getCollection("jobs"); coll.insert(new BasicDBObject("desc", "test1")); coll.insert(new BasicDBObject

似乎在最初创建集合时,有一段时间您无法插入文档。所以运行下面的代码,我只得到第一个插入

Mongo mongo = new Mongo("localhost", 27017);
DB db = mongo.getDB( "workqueue" );
DBCollection coll = db.getCollection("jobs");

coll.insert(new BasicDBObject("desc", "test1"));
coll.insert(new BasicDBObject("desc", "test2"));
coll.insert(new BasicDBObject("desc", "test3"));

然而,如果我在每次插入之间插入一个睡眠线程,我会得到所有3个。这是一个bug还是我做错了什么?

我认为这是由于writeconcern,如果你激活它,这将很快消失,你将把
mongo.writeconcern(writeconcern.FSYNC\u SAFE)
放在第二行,你得到了什么?你使用的是驱动程序版本2.10吗?。2.10以后的默认模式为WriteConcern.ACKNOWLEDGED,而以前的模式为WriteConcern.NORMAL。您使用的是较旧的Mongo类-如果您使用的是最新的驱动程序版本,请切换到MongoClient。正如您所看到的,在不安全模式下,插入正在发生,它们只需要一段时间。它们不会被拒绝,而是排队。