c - 如何在 MongoDB 中使用 c 中的一个键进行查询
问题描述
我正在尝试通过我的 .c 程序在 MongoDB 中搜索键的值。本质上在我的一个文档中的集合中:我有键:值,我希望能够通过传入键来返回所述值。我见过
query = bson_new ();
BSON_APPEND_UTF8 (query, "hello", "world");
cursor = mongoc_collection_find_with_opts( collection, query, NULL, NULL);
我希望能够仅使用 hello 进行搜索并返回 world。
解决方案
在 MongoDB 中查询一个值,只有一个键和一对(例如键:值)。可以使用正则表达式。
bson_t *query;
bson_append_regex(query, key, -1/* length of key*/, ".", NULL);
cursor = mongoc_collection_find_with_opts(collection, query, NULL, NULL);
字符串“。” 在正则表达式中表示“任何字符串”,因此如果您需要在另一个键中查找 json 值,例如:
{ key:
{
second_key:value
}
}
将正则表达式更改为“second_key”。将找到所需的值。
注意
这将返回可能位于其中的任何其他值,与 mongoc_cursor_t * 配对,您可以选择您正在寻找的所需值。
推荐阅读
- css - 使网格布局在 Internet Explorer 中工作
- python - answer的输出是重复的
- javascript - 使用角度我想通过只输入一个来输入两个具有相同名称但文件扩展名不同的文件
- c - 使用 C 使用函数查找最小值和最大值
- mysql - Spring boot Mysql Docker-compose在添加存储库层时无法连接
- sprite-kit - SpriteKit - 触摸移动,如何防止节点跳转到触摸位置
- c# - 如何自动注册服务
- azure - 访问密钥保管库机密时出现 UnknownHostException
- php - Illuminate\Database\QueryException SQLSTATE[42S22]:未找到列:1054 '字段列表'中的未知列'current_team_id'
- java - 在 java (Android) 中对 HTML 字符进行转义的可靠方法