我们正在尝试创建一个查询,以便以编程方式获取集合的有序游标。mongodb 网站中给出了一个示例,它甚至不是一个有效的示例。
我们要做的是通过我们命名为timestamp.seconds和timestamp.nanoseconds的两个字段对我们的集合进行排序。我们的集合由这些字段索引,我们可以在 mongo shell 中使用以下代码对数据进行排序:
db.Data.find().sort({"timestamp.seconds": 1, "timestamp.nanoseconds": 1})
我们如何使用 C 驱动程序创建相同的查询?我们尝试了下面给出的代码,但它没有像我们预期的那样工作。
mongoc_cursor_t *cursor;
bson_t *query;
query = BCON_NEW("$query", "{", "}", "$orderby", "{",
"timestamp.seconds: 1, timestamp.nanoseconds: 1", "}");
cursor = mongoc_collection_find (collection, MONGOC_QUERY_NONE, 0, 0, 0,
query, NULL, NULL);