mongoc.h 实现数据插入
时间: 2024-02-25 13:53:27 浏览: 17
mongoc.h 是 MongoDB C Driver 提供的 C 语言 API,用于连接 MongoDB 数据库并进行各种操作,包括数据插入。
数据插入可以使用 mongoc_collection_insert() 函数,该函数的原型如下:
```
bool mongoc_collection_insert (mongoc_collection_t *collection,
mongoc_insert_flags_t flags,
const bson_t *document,
const mongoc_write_concern_t *write_concern,
bson_error_t *error);
```
其中,参数说明如下:
- collection:mongoc_collection_t 类型的指针,表示要插入数据的集合对象。
- flags:mongoc_insert_flags_t 类型的枚举值,表示插入操作的选项。
- document:bson_t 类型的指针,表示要插入的文档对象。
- write_concern:mongoc_write_concern_t 类型的指针,表示写入操作的确认选项。
- error:bson_error_t 类型的指针,表示错误信息对象。
以下是一个示例程序,演示如何使用 mongoc.h 插入数据到 MongoDB 数据库中:
```
#include <mongoc.h>
int main(int argc, char *argv[]) {
const char* uri_string = "mongodb://localhost:27017";
const char* db_name = "test";
const char* coll_name = "mycoll";
mongoc_client_t *client;
mongoc_collection_t *collection;
bson_error_t error;
bson_t *doc;
mongoc_init();
client = mongoc_client_new(uri_string);
collection = mongoc_client_get_collection(client, db_name, coll_name);
doc = bson_new();
BSON_APPEND_UTF8(doc, "name", "Alice");
BSON_APPEND_INT32(doc, "age", 25);
if (!mongoc_collection_insert(collection, MONGOC_INSERT_NONE, doc, NULL, &error)) {
fprintf(stderr, "%s\n", error.message);
}
bson_destroy(doc);
mongoc_collection_destroy(collection);
mongoc_client_destroy(client);
mongoc_cleanup();
return 0;
}
```
该程序连接到本地的 MongoDB 实例,将一个文档插入到名为 "mycoll" 的集合中。文档中包含两个字段:name 和 age。插入操作的选项为 MONGOC_INSERT_NONE,确认选项为默认值。如果插入操作成功,则返回 true,否则返回 false,并将错误信息存储在 error 对象中。