如何在新闻MongoDB-C中使用$ Orderby

时间:2014-01-20 01:48:20

标签: mongodb bson mongodb-c

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

提前谢谢。

最好的问候。

1 个答案:

答案 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);