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
插入后缺少MongoDB记录 < >我使用Linux上的MunGDB 2.4.5 64位,使用C++ API插入1 m记录< /p>_C++_Mongodb - Fatal编程技术网

插入后缺少MongoDB记录 < >我使用Linux上的MunGDB 2.4.5 64位,使用C++ API插入1 m记录< /p>

插入后缺少MongoDB记录 < >我使用Linux上的MunGDB 2.4.5 64位,使用C++ API插入1 m记录< /p>,c++,mongodb,C++,Mongodb,在连接之后,我确实打开了write concern mongo.setWriteConcern(mongo::W_NORMAL); for (int i=0; i<RECORDS; i++) { mongo::BSONObj record = BSON ( "_id" << i << "mystring" << "hello world" );

在连接之后,我确实打开了write concern

   mongo.setWriteConcern(mongo::W_NORMAL);

   for (int i=0; i<RECORDS; i++) {
        mongo::BSONObj record = BSON (
                "_id" << i <<
                "mystring" << "hello world" );
        bulk_data.push_back(record);

        if (i % 10000 == 0) {
            mongo.insert("insert_test.col1", bulk_data);

        }
    }
mongo.setWriteConcern(mongo::W_NORMAL);

对于(int i=0;i您在循环结束时(紧接着)缺少
mongo.insert(“insert_test.col1”,bulk_data)
,除非
记录
比10000的倍数少一倍(您说是1000000,不是),否则最后9999次迭代不会被插入,因为它们仍然在
bulk_data

换句话说,
i
仅在循环的最后一次迭代中
999999
,因此未输入
if
,并且未插入放入
bulk_data
的最后9999条记录

此外,
bulk\u数据
插入后需要清除:

if (i % 10000 == 0) {
    mongo.insert("insert_test.col1", bulk_data);
    bulk_data.clear();  //  <-----
}
if(i%10000==0){
插入(“插入测试.col1”,批量数据);

bulk_data.clear();//我可以看到您从中获得了此示例代码,但它们有相同的错误……我已经留下了注释!