BSON(Binary JSON)是一種二進(jìn)制格式,用于表示JSON數(shù)據(jù)
在C++中,BSON可以使用第三方庫進(jìn)行操作和存儲。其中,mongo-cxx-driver是MongoDB官方提供的C++驅(qū)動程序,它支持BSON數(shù)據(jù)的操作。你可以通過這個(gè)庫將JSON數(shù)據(jù)轉(zhuǎn)換為BSON格式,并在MongoDB數(shù)據(jù)庫中存儲和查詢。
下面是一個(gè)簡單的例子,展示了如何使用mongo-cxx-driver庫創(chuàng)建一個(gè)BSON對象并將其插入到MongoDB數(shù)據(jù)庫中:
#include<iostream>
#include <bsoncxx/json.hpp>
#include <mongocxx/client.hpp>
#include <mongocxx/instance.hpp>
#include <mongocxx/uri.hpp>
int main() {
mongocxx::instance instance{}; // 初始化MongoDB實(shí)例
mongocxx::uri uri("mongodb://localhost:27017"); // 連接字符串
mongocxx::client client(uri); // 創(chuàng)建客戶端
// 創(chuàng)建一個(gè)BSON對象
bsoncxx::document::value document = bsoncxx::from_json(R"({ "name": "John", "age": 30 })");
// 獲取數(shù)據(jù)庫和集合
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;
}
在這個(gè)例子中,我們首先創(chuàng)建了一個(gè)BSON對象,然后將其插入到名為"my_database"的數(shù)據(jù)庫中的"my_collection"集合。注意,我們使用了bsoncxx::from_json()
函數(shù)將JSON字符串轉(zhuǎn)換為BSON對象。