BSON(Binary JSON)是一种二进制格式,用于表示JSON数据
在C++中,BSON可以使用第三方库进行操作和存储。其中,mongo-cxx-driver是MongoDB官方提供的C++驱动程序,它支持BSON数据的操作。你可以通过这个库将JSON数据转换为BSON格式,并在MongoDB数据库中存储和查询。
下面是一个简单的例子,展示了如何使用mongo-cxx-driver库创建一个BSON对象并将其插入到MongoDB数据库中:
#include<iostream>
#include <bsoncxx/json.hpp>
#include <mongocxx/client.hpp>
#include <mongocxx/instance.hpp>
#include <mongocxx/uri.hpp>
int main() {
mongocxx::instance instance{}; // 初始化MongoDB实例
mongocxx::uri uri("mongodb://localhost:27017"); // 连接字符串
mongocxx::client client(uri); // 创建客户端
// 创建一个BSON对象
bsoncxx::document::value document = bsoncxx::from_json(R"({ "name": "John", "age": 30 })");
// 获取数据库和集合
auto database = client["my_database"];
auto collection = database["my_collection"];
// 插入BSON对象到集合中
collection.insert_one(document.view());
std::cout << "Document inserted successfully!"<< std::endl;
return 0;
}
在这个例子中,我们首先创建了一个BSON对象,然后将其插入到名为"my_database"的数据库中的"my_collection"集合。注意,我们使用了bsoncxx::from_json()
函数将JSON字符串转换为BSON对象。