mongocxx如何从视图中构建文档?

问题描述 投票:2回答:1
auto cursor = db["friend"].find({});
    for (auto &&docView : cursor) {

        bsoncxx::builder::basic::document document1;
        document1.append(docView); // This line will be an error 
        document1.append(kvp("surl", "http://xxx"));
        document1.append(kvp("burl", "http://xxx"));

        arr.append(document1);
    }

我想创建一个新文档,包含查询结果,并在文档中添加一些新字段。但上面的代码无法运行。谁能告诉我该怎么做,谢谢!

查询结果docView如下:

{
"name": "BeJson",
"headUrl": "http://www.bejson.com"
}

我想像这样构建document1:

{
"name": "BeJson",
"headUrl": "http://www.bejson.com",
"surl": "http://xxx",
"burl": "http://xxx"
}
c++ mongodb mongo-cxx-driver
1个回答
2
投票

我想,如果我理解你的问题,你应该使用builder::concatenate

auto cursor = db["friend"].find({});
for (auto &&docView : cursor) {
    bsoncxx::builder::basic::document document1;
    document1.append(bsoncxx::builder::concatenate(docView)); 
    document1.append(kvp("surl", "http://xxx"));
    document1.append(kvp("burl", "http://xxx"));
}
© www.soinside.com 2019 - 2024. All rights reserved.