我的 MongoDB 测试数据库中有以下文档:
> db.a.find().pretty()
{
"_id" : ObjectId("5113d680732fb764c4464fdf"),
"x" : [
{
"a" : 1,
"b" : 2
},
{
"a" : 3,
"b" : 4
}
]
}
我正在尝试访问和处理“x”数组中的元素。但是,Mongo 驱动程序似乎不是将其识别为 JSON 文档的数组,而是将其识别为 Date 类型,如下面的代码所示:
auto_ptr<DBClientCursor> cursor = c.query("test.a", BSONObj());
while (cursor->more()) {
BSONObj r = cursor->next();
cout << r.toString() << std::endl;
}
输出是:
{ _id: ObjectId('51138456732fb764c4464fde'), x: new Date(1360233558334) }
我正在尝试遵循http://api.mongodb.org/cplusplus和http://docs.mongodb.org/ecosystem/drivers/cpp-bson-array-examples/中的文档,但它很差。我发现了处理数组的其他示例,但总是使用简单类型(例如整数数组),但当数组中的元素是 BSON 文档本身时则不然。
你有一些处理数组的代码示例,哪些元素是通用 BSON 元素,好吗?