windows下编译mongo-c-driver
mongo-c-driver的github地址下载个1.82的release版本后,发现没有vs的什么工程文件,有CMake文件,现在一般都是使用CMake来生成平台的makefile或者工程文件,Zookeeper的c客户端也是CMake形式的。简单来说就是解决了跨平台c编译的问题,官网上的对CMake的介绍:
CMake is an open-source, cross-platform family of tools designed to build, test and package software. CMake is used to control the software compilation process using simple platform and compiler independent configuration files, and generate native makefiles and workspaces that can be used in the compiler environment of your choice.
Mongodb依赖bson库,从https://github.com/mongodb/libbson/releases下载一个库,版本1.8.2,在编译Mongodb的c的driver前需要先编译这libbson。
从官网上下载,地址download。直接下载二进制的包就好了,下载下来,绿色的都不用安装,bin文件夹有cmake-gui.exe文件。
先编译bson库,一开始使用的vs2005一堆问题,换成了vs2013,bson才编译成功,有个选编译器的地址,只知道linux下是gcc和g++,windows上是啥有点蒙圈,进入vs的vc目录下,大概看了下,有个叫”cl.exe”,cl,compile?试了下果然可以。编译完了bson库,在Release下有三个文件bson-1.0.lib、bson-static-1.0.lib、libbson-1.0.dll。然后工程中还有个INSTALL的工程,编译运行下,会生成完整的bson库,有bin、include、lib三个文件夹,这个时候bson编译完成。
编译mongo,挺多问题,但是按照CMake的提示,选择下路径就可以了。INATALL还是生成三个文件lib、bin、include。运行下工程中的example-client,能读到数据了就ok了。
实现批量插入操作
官网上对批量插入操作说明的部分Bulk Write Operations。批量插入执行时,可以按照顺序,也可以不按照顺序并发执行,如果没有特殊要求,不用按照顺序,效率一般比按照顺序的要高。如果对插入效率要求非常高,数据不是那么重要,还有一种“Unacknowledged Bulk Writes”不需要确认的插入。
套路如下: mongoc_collection_create_bulk_operation();
参考
windows下使用Cmake和VC 2013安装mongodb C driver