c++ - mongodb - 将字段附加到 BSONObj

标签 c++ mongodb

mongodb c++ 驱动器通过 BSONObjBuilder 构造一个 BSONObj 对象,但在实践中需要将字段附加到 BSONObj,例如:

BSONObj base_part_query()
{
    return BSON(...);
}

void q1()
{
    BSONObj obj = base_part_query();
    obj.appendField("q1_special","v"); // mongo driver has no such api
    // query by q1
}
void q2()
{
    BSONObj obj = base_part_query();
    obj.appendField("q2_special","v"); // mongo driver has no such api
    // query by q2
}

如果我不创建base_part_query,那么在qn() 中将有n 个BSON(...) 的拷贝。那可不好。

最佳答案

我找到了一个方法:

BSONObj o = (mongo::BSONObjBuilder().appendElements(base_part_query())<<"q1_special"<<BSON("$lte"<<111)).obj()

关于c++ - mongodb - 将字段附加到 BSONObj,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28164188/

相关文章:

c++ - 在 std::function 中调用递归函数

c# - 无法在 MongoDB Web API 中按 ID 获取文档

mongodb - Mongoose- 使用特定项目将数组中的数据搜索/过滤到另一个数组中

c++ - 你如何找到四个顶点之间的点的 Y 位置? HLSL

c++ - 将 'B' 转换为 0xB

c++ - 附加时是否保留 vector 元素的顺序?

c++ - 如何正确声明变量

mongodb - 如何通过命令行在副本集中的辅助 mongodb 服务器中设置 rs.slaveOk()?

javascript - mongodb:将字段移动到新文档并更新字段和数组

javascript - node.js - 发布响应不等待回调完成