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"
}
我想,如果我理解你的问题,你应该使用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"));
}