2

我可以获得我的查询结果,但我无法根据我的字段“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);

先感谢您。

此致。

4

1 回答 1

2

您仍然可以$orderby在新的 C MongooDB 驱动程序中使用。

bson_append_start_object()的 API 使用bson_append_document_begin().

来自github repo 中 GridFS 示例的示例用法:

  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);
于 2014-01-23T21:31:01.463 回答