【发布时间】:2014-11-21 01:45:12
【问题描述】:
MongoDB C++ 驱动 API 中的 BSONArrayBuilder class 允许构建 BSON 数组,例如。
BSONArrayBuilder ba;
ba.append("foo");
ba.append("bar");
...
connection->query("col", BSON("x" << BSON("$in" << ba.arr())));
将在 mongo shell 中执行如下查询:
db.col.find({"x": {"$in": [ "foo", "bar" ] }})
但是,我需要通过以下方式(适用于 mongo shell)基于正则表达式而不是字符串进行查询:
db.col.find({"x": {"$in": [ /^foo/, /^bar/ ] }})
如何使用 C++ 驱动程序构建该数组?请注意,BSONObjBuilder class 有一个 appendRegex() 方法,该方法不包含在 BSONArrayBuilder 类中
非常感谢任何解决方法或指向有关此问题的信息的指针。谢谢!
【问题讨论】:
-
缺少答案可能意味着当前的驱动程序 C++ 实现无法做到这一点。转到 MongoDB JIRA 的功能请求:jira.mongodb.org/browse/CXX-267