gpt4 book ai didi

mongodb - 在 Mongo C-Driver 中按子字段排序

转载 作者:可可西里 更新时间:2023-11-01 09:35:51 24 4
gpt4 key购买 nike

我们正在尝试创建一个查询,以便以编程方式获取集合的有序游标。有一个 single example given in mongodb website它甚至不是一个工作的。

我们要做的是根据我们命名为 timestamp.secondstimestamp.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);

最佳答案

当您使用 BCON_NEW 构建查询时,您没有使用正确的语法:

query = BCON_NEW("$query", "{", "}",
"$orderby", "{",
"timestamp.seconds", BCON_INT32(1),
"timestamp.nanoseconds", BCON_INT32(1),
// ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^
// key value
"}");

关于mongodb - 在 Mongo C-Driver 中按子字段排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31209628/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com