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

标签 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);

提前谢谢您。

致以诚挚的问候。

最佳答案

您仍然可以在新的 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/

相关文章:

c - MongoDB BSON OID 失败

javascript - 为什么 Javascript 中的迭代器不起作用?

javascript - 如何将mongodb响应数组从javascript对象转换为JSON字符串

c - MongoDB、ZeroMQ 和 C

c++ - valgrind 使用 GENOID 创建的简单 BSON 对象报告 BSONObj::toString 中未初始化的值

java - 在java或scala中将bson嵌套到平面bson

c - Libbson 和 MongoDB-C 驱动编译

mongodb - 用于插入或获取 mongo-driver 文档的自定义编码器/解码器

mongodb - 将文件存储在磁盘或 MongoDB 上

javascript - 在 node.js 应用程序中使用 $or 运算符的命令行参数有什么问题?