mongodb c driver执行mongo_run_command求sum
2014-03-25 15:25
411 查看
不使用mapreduce,没有必要,低,也无法取到结果。改为使用aggregate。代码如下:
最关键的是,数组的概念,如代码上面所示的数组元素0和数组元素1,这是个大坑,没有它们,就无法取得预期结果。
bson cmd[1]; bson out[1]; bson_init(cmd); bson_append_string(cmd, "aggregate", "mytable"); bson_append_start_array(cmd, "pipeline"); bson_append_start_object(cmd, "0"); bson_append_start_object(cmd, "$group"); bson_append_null(cmd, "_id"); //bson_append_string(cmd, "_id", "null"); bson_append_start_object(cmd, "sum"); bson_append_string(cmd, "$sum", "$a_price"); bson_append_finish_object(cmd); bson_append_finish_object(cmd); bson_append_finish_object(cmd); bson_append_start_object(cmd, "1"); bson_append_start_object(cmd, "$project"); bson_append_int(cmd, "_id", 0); bson_append_int(cmd, "sum", 1); bson_append_finish_object(cmd); bson_append_finish_object(cmd); bson_append_finish_array(cmd); bson_finish(cmd); bson_print(cmd); const int result = mongo_run_command(conn, "mydb", cmd, out);
最关键的是,数组的概念,如代码上面所示的数组元素0和数组元素1,这是个大坑,没有它们,就无法取得预期结果。
相关文章推荐
- run command from Java driver for MongoDB
- mongodb C/C++ driver 通过帐号验证登录mongo服务器并进行相应操作
- 使用mongo-java-driver3.0.2.jar和mongodb3.0在java代码中的用户验证4
- mongodb停止遇到shutdownServer failed: unauthorized: this command must run from localhost when running db without auth解决方法
- MongoDB ‘conn’Mongo 对象远程代码执行漏洞
- MongoDB&C++开发 (三) C++ Driver 浅析(结合mongo-cxx-driver/examples中代码)
- MongoDB 项目集成 mongo-driver 3.4.2
- 小白在Ubuntu安装mongoDB 与 mongo-c-driver
- MongoDB java客户端mongo-java-driver使用
- MySQL一次执行多条语句的实现及常见问题(C API Commands out of sync; you can't run this command now)
- MongoDB 项目集成 mongo-driver 3.4.2
- mongodb runcommand group使用方法
- mongo-java-driver -3.2.2学习笔记-01-MongoDB Driver Quick Tour
- mongodb runCommand命令 范围查询 模糊查询
- PHP执行MYSQL存储过程报错:Commands out of sync; you can't run this command now
- PHP执行MYSQL存储过程报错:Commands out of sync; you can't run this command now
- mongodb的java driver执行“原生查询”语句
- 在c#中使用mongo-csharp-driver操作mongodb
- php用mysql_query()调用存储过程后无法再执行sql报错:commands out of sync you can't run this command now
- mongodb安装和mongo-c-driver的安装使用