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/