我正在尝试运行一个仅从 MongoDB 获取不同值的查询。我让查询运行并返回正确的值,但是我不确定如何使用 C API 迭代生成的 BSON 数组。
这是代码:
bson query;
bson out;
bson_init(&query);
bson_append_string(&query, "distinct", "myCollection");
bson_append_string(&query, "key", "someKey");
bson_finish(&query);
if (mongo_run_command( conn, "myDB", &query, &out ) != MONGO_OK) {
printf("mongo_run_command failed!\n");
return 1;
}
else {
while(bson_iterator_next(out)){
bson iterator;
if (bson_find(iterator, &out, "someKey")) {
printf("%s\n", bson_iterator_string(iterator));
}
}
bson_print(&out);
确实打印出正确的bson_print(&out)
数组,但是我怎样才能遍历数组呢?
C API 的文档非常薄,甚至没有涵盖mongo_run_command
.
任何帮助表示赞赏