问题标签 [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.

0 投票
1 回答
460 浏览

mongodb - 使用 C 驱动程序 (mongoc) 时如何为 MongoDB 查询设置 MaxTimeMS

使用 mongoc 和 MongoDB >= 2.6,如何为 find 和 aggregate() 设置 MaxTimeMS?

0 投票
1 回答
1316 浏览

c# - MongoDB 创建动态查询

下面是多个查询的“与”操作的工作代码,我可以对查询列表执行“与”操作,对查询列表执行“或”操作。但是在 MongoDB 中有没有一种方法可以动态地对查询列表进行“与”或“或”操作?

文件结构

编辑

我需要得到以下查询:

任何建议将不胜感激。

0 投票
1 回答
1109 浏览

c - c - 迭代 bson 时访问 value.type

我正在尝试遵循 libbson API 文档。但似乎我有什么问题。文档说明您可以执行以下操作:

但是当我尝试用它编译实际代码时,我收到以下错误:

这是实际的代码:

0 投票
0 回答
68 浏览

mongodb - 使用 mongo C 驱动程序返回 textScore

我正在尝试使用 mongo-c-driver 重新创建以下查询。

文本索引工作正常。我可以跑:

有没有办法将 $meta 部分包含到这个查询中?我必须以某种方式将其投影出来吗?

0 投票
1 回答
385 浏览

mongodb - mongoc_init() 和 mongoc_cleanup() 可能使内存“仍然可以访问”

我有一个类可以使用 mongodb-c-driver 进行 mongodb 操作。在构造函数中,调用了 mongoc_init()。在解构器中,调用了 mongoc_cleanup()。然后,valgrind 3.10.1 告诉我一些内存“仍然可以访问”。部分 valgrind 输出如下:

==23222== 1 个块中的 16,384 个字节在 586 的丢失记录 586 中仍然可以访问

==23222== 在 0x4C2D199: realloc (vg_replace_malloc.c:692)

==23222== 0x6243894:CRYPTO_realloc(在 /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 中)

==23222== 由 0x62BE1F1:lh_insert(在 /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 中)

==23222== 由 0x62C0828: ??? (在 /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 中)

==23222== 由 0x62C0243: ??? (在 /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 中)

==23222== 0x5FCB01D:ERR_load_SSL_strings(在 /lib/x86_64-linux-gnu/libssl.so.1.0.0 中)

==23222== 0x5083623:_mongoc_ssl_init(在 /usr/local/lib/libmongoc-1.0.so.0.0.0 中)

==23222== 0x5077028:_mongoc_do_init(在 /usr/local/lib/libmongoc-1.0.so.0.0.0 中)

==23222== 由 0x529A3FF: pthread_once (pthread_once.S:104)

==23222== 由 0x400F305: call_init.part.0 (dl-init.c:85)

==23222== by 0x400F3DE: call_init (dl-init.c:52)

==23222== 由 0x400F3DE: _dl_init (dl-init.c:134)

==23222== 由 0x40016E9: ??? (在 /lib/x86_64-linux-gnu/ld-2.15.so 中)

==23222== 泄漏摘要:

==23222== 仍然可以访问:3,075 个块中的 91,832 个字节

当我评论这两个函数 mongoc_init() 和 mongoc_cleanup() 时,valgrind 告诉我所有堆块都已释放。

任何想法?

谢谢。

0 投票
1 回答
365 浏览

mongo-c-driver - Mongodb C驱动,测试服务器是否正在运行?

我创建了一个需要从数据库读取和处理数据的客户端。

我意识到我无法通过仅测试是否为空来测试我使用 mongoc_client_new 创建的连接,因为驱动程序使用惰性连接。

我如何测试数据库是否真的启动并运行?也许在没有添加查询条件的情况下搜索数据库?

我尝试了 get_collection_count ,但无论数据库是否正在运行,它都会吐出 -1 。

0 投票
2 回答
1021 浏览

mongodb - mongodb 一对多关系

我是 MongoDB 的新手,从传统的 SQL 关系方法开始。我正在研究一个简单的“类别有很多产品”场景(c#.Net)。类别有

我的问题是。

  1. 问题 1:在添加产品屏幕上,我有一个类别下拉菜单。所以在提交时,我应该先在产品集合中插入产品,然后 将此产品 送到类别集合的嵌套产品中。

    _categoryCollection.Update(id, Update< Category>.Push…)

  2. 问题2:或者我们不应该只拥有所谓的“产品集合”。相反,我们应该只有一个包含嵌套产品的类别集合。并在提交时将这个新产品推送到相应的类别中。

    问题2.1:如果我们想在添加产品后对产品与类别进行关联怎么办??

  3. 或问题 3:考虑问题一。我们应该在 Product 实体中有 CategoryId 吗?这在 No SQL 概念中是否有意义?
0 投票
0 回答
148 浏览

c - 在优胜美地上找不到 mongo.h 文件

我在 Mac OSX Yosemite 上安装了 MongoDB C 驱动程序。

使用


一切都很好,但是当我尝试在终端上使用 Xcode 或 GCC 编译 C 代码时


它注意到我
test.c:3:10: fatal error: 'mongo.h' file not found

然后,我在 /usr/include 中看不到 mongo.h 文件或任何文件,是的,我已经安装了 MongoDB。

我错过了什么吗?

0 投票
1 回答
402 浏览

mongodb - 在 Mongo C-Driver 中按子字段排序

我们正在尝试创建一个查询,以便以编程方式获取集合的有序游标。mongodb 网站中给出了一个示例,它甚至不是一个有效的示例。

我们要做的是通过我们命名为timestamp.secondstimestamp.nanoseconds的两个字段对我们的集合进行排序。我们的集合由这些字段索引,我们可以在 mongo shell 中使用以下代码对数据进行排序:

我们如何使用 C 驱动程序创建相同的查询?我们尝试了下面给出的代码,但它没有像我们预期的那样工作。

0 投票
3 回答
405 浏览

mongo-c-driver - MongoC中的正则表达式

如何使用 bcon_new 在 mongoC 中执行此查询?