资源简介
MongoDB C/C++开发使用案例Demo(含源代码例子、编译好的MongoDB C库文件(.h .lib .dll)、开发环境搭建配置文档等),可直接用于项目开发

代码片段和文件信息
// ConsoleApplication1.cpp : Defines the entry point for the console application.
//
#include “stdafx.h“
#include
#include
#include
#include
#include
#include
#include
using namespace std;
/**********************************************************************/
void UnicodeToUTF8(char *utf wchar_t* wszString)
{
//预转换,得到所需空间的大小
int u8Len = ::WideCharToMultiByte(CP_UTF8 NULL wszString wcslen(wszString) NULL 0 NULL NULL);
//同上,分配空间要给‘\0‘留个空间
//UTF8虽然是Unicode的压缩形式,但也是多字节字符串,所以可以以char的形式保存
//转换 //unicode版对应的strlen是wcslen
::WideCharToMultiByte(CP_UTF8 NULL wszString wcslen(wszString) utf u8Len NULL NULL);
//最后加上‘\0‘
utf[u8Len] = ‘\0‘;
}
#if 1
int _tmain(int argc _TCHAR* argv[])
{
mongoc_collection_t *collection;
bson_error_t error;
bson_t *doc; /*文档名称doc*/
const bson_t *doc_qurey;
bson_t child;
const char *uristr = “mongodb://localhost:27017“; /*mongodb地址*/
const char *collection_name = “col“; /*集合名称test*/
time_t now = time(0);
char timebuf[256] = {};
struct tm cur_time;
char *str;
//bson_t *query;
mongoc_cursor_t *cursor;
bson_t query;
bson_t child2 child3;
localtime_s(&cur_time &now);/*获取本地当前时间*/
strftime(timebuf sizeof(timebuf) “%Y-%m-%d %H:%M:%S“ &cur_time);/*格式化时间*/
const char *optime = timebuf;
//先调用mongoc_init(),libmongoc 的任何其他功能才能正确使用
mongoc_init();/*初始化*/
// Create a new client instance
mongoc_client_t *client = mongoc_client_new(uristr); /*连线到db */
if (NULL == client) {
fprintf(stderr “Failed to parse URI.\n“);
return EXIT_FAILURE;
}
mongoc_client_set_error_api(client 2);
//获取集合名
collection = mongoc_client_get_collection(client “test“ collection_name);/*获取集合*/
/******************写入操作例子如下:************************/
doc = bson_new();
BSON_APPEND_UTF8(doc “Titile“ “Test123 “);
BSON_APPEND_UTF8(doc “Nowtime“ optime);
//开始一个子文档
BSON_APPEND_DOCUMENT_BEGIN(doc “subdoc“ &child);
BSON_APPEND_UTF8(&child “subkey“ “value“);
bson_append_document_end(doc &child);
double dval = 12.34;
char *tm_sample = “2018:30“;
char buf_json[64] = { 0 };
sprintf_s(buf_json “[{\“sample_time\“:\“%s\“\“sample_value\“:\“%.2f\“}]“ tm_sample dval);
bson_t *bt_arrayOfSample = bson_new_from_json((const uint8_t *)buf_json
strlen(buf_json) &error);
BSON_APPEND_ARRAY(doc “arrayOfSample“ bt_arrayOfSample);
size_t err_offset;
if (!bson_validate(doc BSON_VALIDATE_NONE &err_offset)) {
fprintf(stderr
“The document failed to validate at offset: %u\n“
(unsigned)err_offset);
}
/*将bson文档插入到集合*/
if (!mongoc_collection_insert(collection MONGOC_INSERT_NONE doc NULL &error))
{
fprintf(stderr “%s\n“ error.message);
}
/**************************************批量写入操作例子如下:*************************************/
enum N { ndocs = 4 };
bson_t *docs_bulk[ndocs];
mongoc_bulk
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-03-19 17:20 MongoDB_Smaples\
目录 0 2018-03-19 16:24 MongoDB_Smaples\mongo-c-driver\
目录 0 2018-03-19 16:24 MongoDB_Smaples\mongo-c-driver\include\
目录 0 2018-03-19 16:24 MongoDB_Smaples\mongo-c-driver\include\libbson-1.0\
文件 10939 2018-02-26 12:02 MongoDB_Smaples\mongo-c-driver\include\libbson-1.0\bcon.h
文件 2836 2018-02-26 12:02 MongoDB_Smaples\mongo-c-driver\include\libbson-1.0\bson-atomic.h
文件 1007 2018-02-26 12:02 MongoDB_Smaples\mongo-c-driver\include\libbson-1.0\bson-clock.h
文件 3741 2018-02-26 12:02 MongoDB_Smaples\mongo-c-driver\include\libbson-1.0\bson-compat.h
文件 2770 2018-02-28 11:14 MongoDB_Smaples\mongo-c-driver\include\libbson-1.0\bson-config.h
文件 1101 2018-02-26 12:02 MongoDB_Smaples\mongo-c-driver\include\libbson-1.0\bson-context.h
文件 1662 2018-02-26 12:02 MongoDB_Smaples\mongo-c-driver\include\libbson-1.0\bson-decimal128.h
文件 6474 2018-02-26 12:02 MongoDB_Smaples\mongo-c-driver\include\libbson-1.0\bson-endian.h
文件 1147 2018-02-26 12:02 MongoDB_Smaples\mongo-c-driver\include\libbson-1.0\bson-error.h
文件 12473 2018-02-26 12:02 MongoDB_Smaples\mongo-c-driver\include\libbson-1.0\bson-iter.h
文件 2216 2018-02-26 12:02 MongoDB_Smaples\mongo-c-driver\include\libbson-1.0\bson-json.h
文件 928 2018-02-26 12:02 MongoDB_Smaples\mongo-c-driver\include\libbson-1.0\bson-keys.h
文件 7327 2018-02-26 12:02 MongoDB_Smaples\mongo-c-driver\include\libbson-1.0\bson-macros.h
文件 2837 2018-02-26 12:02 MongoDB_Smaples\mongo-c-driver\include\libbson-1.0\bson-md5.h
文件 1687 2018-02-26 12:02 MongoDB_Smaples\mongo-c-driver\include\libbson-1.0\bson-memory.h
文件 6107 2018-02-26 12:02 MongoDB_Smaples\mongo-c-driver\include\libbson-1.0\bson-oid.h
文件 3431 2018-02-26 12:02 MongoDB_Smaples\mongo-c-driver\include\libbson-1.0\bson-reader.h
文件 7857 2018-02-26 12:02 MongoDB_Smaples\mongo-c-driver\include\libbson-1.0\bson-stdint-win32.h
文件 21 2018-02-28 11:14 MongoDB_Smaples\mongo-c-driver\include\libbson-1.0\bson-stdint.h
文件 2461 2018-02-26 12:02 MongoDB_Smaples\mongo-c-driver\include\libbson-1.0\bson-string.h
文件 17705 2018-02-26 12:02 MongoDB_Smaples\mongo-c-driver\include\libbson-1.0\bson-types.h
文件 1276 2018-02-26 12:02 MongoDB_Smaples\mongo-c-driver\include\libbson-1.0\bson-utf8.h
文件 898 2018-02-26 12:02 MongoDB_Smaples\mongo-c-driver\include\libbson-1.0\bson-value.h
文件 1175 2018-02-26 12:02 MongoDB_Smaples\mongo-c-driver\include\libbson-1.0\bson-version-functions.h
文件 2500 2018-02-28 11:14 MongoDB_Smaples\mongo-c-driver\include\libbson-1.0\bson-version.h
文件 1751 2018-02-26 12:02 MongoDB_Smaples\mongo-c-driver\include\libbson-1.0\bson-writer.h
文件 33300 2018-02-26 12:02 MongoDB_Smaples\mongo-c-driver\include\libbson-1.0\bson.h
............此处省略67个文件信息
- 上一篇:poco-1.8.0.1
- 下一篇:centos7 oracle11g 缺少的包
相关资源
- C++获取计算机的CPU ID,硬盘序列号等
- C++头文件转delphi工具 + 源码
- C语言编程常见问题解答.pdf
- GD32通过规则组寄存器 DMA获取多组AD
- 基于MFC的TCP调试助手源码95706
- 国际象棋的qt源代码
- 操作系统c语言模拟文件管理系统844
- C语言开发实战宝典
- C++中头文件与源文件的作用详解
- 基于mfc的多线程文件传输
- C++多线程网络编程Socket
- VC++ 多线程文件读写操作
- C语言代码高亮html输出工具
- 猜数字游戏 c语言代码
- C语言课程设计
- 数字电位器C语言程序
- CCS FFT c语言算法
- 使用C语言编写的病房管理系统
- 通信过程中的RS编译码程序(c语言)
- 利用C++哈希表的方法实现电话号码查
- 计算机二级C语言上机填空,改错,编
- 用回溯法解决八皇后问题C语言实现
- 移木块游戏,可以自编自玩,vc6.0编写
- 简易教务管理系统c语言开发文档
- 操作系统课设 读写者问题 c语言实现
- 小波变换算法 c语言版
- C流程图生成器,用C语言代码 生成C语
- 3des加密算法C语言实现
- 简单的C语言点对点聊天程序
- 单片机c语言源程序(51定时器 八个按
评论
共有 条评论