我可以获得查询结果,但无法根据字段“X”(int32)的值按升序(或降序)顺序检索它们。你可以帮帮我吗?
请注意,我使用最新版本的 MongoDB-C,在旧版本中我可以很好地使用“$orderby”进行查询,但在新版本中,此函数“bson_append_start_object()”不存在。
这是我的收藏的结构部分:
by: [
{
id: ObjectId("XX"),
type: NumberInt(1)
}
],
timestamp: NumberInt()
以及我的部分代码:
bson_init(&array);
bson_append_oid(&array, "id", 2, &oid);
bson_append_int32(&array, "type", 4, 1);
bson_init(&query);
bson_append_document(&query, "by", 2, &array);
提前谢谢您。
致以诚挚的问候。
最佳答案
您仍然可以在新的 C MongooDB 驱动程序中使用 $orderby
。
新 API 使用 bson_append_document_begin()
,而不是 bson_append_start_object()
。
来自 GridFS example in the github repo 的示例用法:
bson_init (&query);
bson_append_document_begin (&query, "$orderby", -1, &child);
bson_append_int32 (&child, "filename", -1, 1);
bson_append_document_end (&query, &child);
bson_append_document_begin (&query, "$query", -1, &child);
bson_append_document_end (&query, &child);
关于mongodb - 如何在新闻中使用$Orderby-C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21225043/