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"));
}
关于c++ - mongocxx如何从 View 构建文档?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49062594/