Как делать запросы в MongoDB, используя один ключ в c - PullRequest
0 голосов
/ 01 августа 2020

Я пытаюсь найти значение ключа в MongoDB с помощью моей программы. c. По сути, в моей коллекции в одном из моих документов: у меня есть ключ: значение, я хочу иметь возможность вернуть указанное значение, передав ключ. Я видел

 query = bson_new ();
 BSON_APPEND_UTF8 (query, "hello", "world");

 cursor = mongoc_collection_find_with_opts( collection, query, NULL, NULL);

Я хочу иметь возможность искать, используя только hello и return world.

1 Ответ

0 голосов
/ 19 августа 2020

Для запроса значения в 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
       }
 } 

Изменение регулярного выражения на «второй_ключ». найдет желаемое значение. Примечание Это вернет любые другие значения, которые могут находиться внутри, в паре с mongoc_cursor_t * вы можете выбрать желаемое значение, которое ищете.

...