问题标签 [mongo-c-driver]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mongodb - 使用 mongo-delphi-driver 获取具有特定 _id 的文档
我必须在 mongodb 上执行查询,我想只选择一个具有特定 _id(类型 ObjectId)的文档。
我使用“严格模式”sintax,特别是运算符$oid用于将 _id 与字符串进行比较。
但它不起作用!,如果它是一个错误(一袋 mongo-c-driver/mongo-delphi-driver)或者我编写了错误的代码以对 ObjectId 字段进行查询,我现在不知道。
在一个简单的代码片段下面,具有该 _id 的文档存在,但 bson 文档为 nil
https://docs.mongodb.com/manual/reference/mongodb-extended-json/
我也尝试使用这两种方法...
和
bson - bson-append_double 双精度
我遇到了以下函数 bson_append_double 的问题:
但我得到的结果很烦人:0.0099999997764825820923 以前有没有人遇到过这个问题,请帮助我。谢谢并恭祝安康
mongodb - 排序似乎不起作用 mongo-delphi-driver
这个简单的片段不起作用,我想按名称对文档进行排序,但返回的文档没有顺序
[编辑]:通过 2017 年 6 月 15 日的最新修复解决
mongodb - mongoc驱动如何认证
我在验证代码的正确格式时遇到问题。根据http://mongoc.org/libmongoc/current/authentication.html,验证码是
我有以下代码,但它不起作用:
访问服务器上的数据库的正确格式应该是什么?
mongodb - mongo c驱动程序:如何在列表中查询带有“_id”的文档?
我有一个包含大量文档的数据库,我只想从列表中查询带有“_id”的文档。我在网上搜索了几个小时,并没有找到任何真正有用的东西,所以我在这里发布我的问题。非常感谢您的帮助!
在MongoDB命令行环境下,很容易实现我想要的。例如查询命令如下:
使用mongoc驱动,直接通过id获取文档也很简单。下面是一个例子:
要使用“_id”以外的其他键获取文档,同样的事情也可以轻松实现。下面是一个例子:
但是,当我尝试将 _id 放入数组时,我无法让它工作。我尝试了两种不同的方法。一种是:
另一个是:
他们都没有返回任何文件。
再次,非常感谢您提前提出任何建议、评论!
编辑:
我自己回答了我原来的问题(见下面的答案)。但是,如果我想动态形成查询,换句话说,用例是我从其他地方获取 id 列表,在形成查询之前,我不知道 id 是什么,我只知道它们会在容器中传递给我,比如 std::vector<std::string>,我怎样才能动态地形成这个查询?
更新:
最后,我得到了我的问题的完整解决方案。
由于上述查询是由字符串组成的,因此可以动态更新,从而彻底解决了我的问题!
mongodb - 如何在未初始化的 bson_t 变量上威胁 bson_destroy()
我有以下代码:
问题是它偶尔会崩溃。通过分析核心转储,可以追溯到数据库连接问题。在这种情况下,ok
设置为false
并error.message
显示“未找到合适的服务器(serverselectiontryonce
设置)...”。
不幸的是,代码崩溃了bson_destroy(&reply);
- 显然reply
bson 没有分配 b/c 与数据库连接的错误。这意味着 mongoc_collection_find_and_modify() 在这种情况下无法初始化该字段。
问题是如何可靠地检测到这种情况并跳过bson_destroy()
呼叫。
例如(伪代码):
c - 编译 mongo-c-driver
我正在尝试从此链接中编译关于此链接中描述的mongo-c-driver 。我已经成功编译了 libbson,当我尝试执行以下命令时,我得到了The source directory "/" does not appear to contain CMakeLists.txt.
mongodb - 在 Mongo 中嵌套 $pull 命令
我试图从多个数组中删除一个值,而不必发出多个 Mongo 命令。我的语法一定不正确,任何帮助将不胜感激。
当我尝试:
如果我将其简化为以下内容,它将失败:
c - MongoDB C 驱动程序:如何替换文档
我们如何使用 Mongo C Driver 替换 MongoDB 中的文档?
有可用的 API 吗?在 Mongo shell 中,我可以为此目的使用 replaceOne。
但是我怎样才能通过我的 C 程序做到这一点呢?