我可以获得我的查询结果,但我无法根据我的字段“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);
提前谢谢。
最好的问候。
答案 0 :(得分:2)
您仍然可以在新的C MongooDB驱动程序中使用$orderby
。
新API使用bson_append_start_object()
而不是bson_append_document_begin()
。
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);