mongocxx中的特定字段值

阳光123

我想使用mongocxx在mongodb中拥有特定字段的所有值。我的集合中有100个文档,每个文档都有一个字段“ X1_position”,该字段的值是float。我想获取该字段的所有100个值,并将其存储到数组中。我正在使用以下代码,但无法正常工作

  #include <iostream>

  #include <bsoncxx/builder/stream/document.hpp>
  #include <bsoncxx/json.hpp>

  #include <mongocxx/client.hpp>
  #include <mongocxx/options/find.hpp>
  #include <mongocxx/instance.hpp>
  #include <mongocxx/uri.hpp>

  using bsoncxx::builder::stream::document;
  using bsoncxx::builder::stream::open_document;
  using bsoncxx::builder::stream::close_document;
  using bsoncxx::builder::stream::finalize;

  int main(int, char **) {
  mongocxx::instance inst{};
  mongocxx::client conn{mongocxx::uri{}};

  auto coll = conn["my_data"]["exp1"];

  bsoncxx::builder::stream::document mydoc;
  mydoc << "X1_Position";
  mongocxx::cursor cursor = coll.find( mydoc.view() );
  for(auto &&doc : cursor) {
      std::cout << doc["X1_ActualPosition"].get_utf8().value << "\n";
   }

  }

它编译良好,但是在运行可执行文件时出现以下错误。

    ./testmongo
    terminate called after throwing an instance of 'bsoncxx::v_noabi::exception'
    what():  can't convert builder to a valid view: unmatched key
    Aborted (core dumped)

请帮我

SPM

我认为您追求的是投射您不需要过滤,因为您说过想要所有文档,但是您需要告诉MongoDB您想要返回哪些字段:

auto coll = conn["my_data"]["exp1"];

bsoncxx::builder::stream::document mydoc;

// Use projection to pick the field you want
// _id must be explicitly removed since it is returned by default
bsoncxx::builder::stream::document myprojection;
myprojection << "X1_ActualPosition" << 1 << "_id" << 0;

mongocxx::options::find opts{};
opts.projection(myprojection.view());
    
mongocxx::cursor cursor = coll.find(mydoc.view(), opts);
    
for (auto &&doc : cursor) {
    std::cout << doc["X1_ActualPosition"].get_double() << std::endl;
}

您收到的错误是因为您正在尝试构建传递不带任何值的键的查询来过滤文档的查询,我认为在mongodb解释器中执行以下操作(这也会崩溃)类似于:

db.exp1.find({"X1_ActualPosition"}) // ERROR: SyntaxError: missing : after property id

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

查询多值字段中的特定索引值

来自分类Dev

字段中特定值的连续编号

来自分类Dev

字段中特定值的连续编号

来自分类Dev

查询多值字段中的特定索引值

来自分类Dev

sql中特定字段的字段唯一值

来自分类Dev

在MongoDB全文搜索中的特定字段中搜索值

来自分类Dev

如何检查MySQL中字段中的特定值是否存在

来自分类Dev

如何从cakephp中的表中获取特定的字段值?

来自分类Dev

使用ubuntu中的命令从文件中获取特定的字段值

来自分类Dev

Mongoid:如何验证哈希字段中特定键的值?

来自分类Dev

在Solr的多值字段中查询特定的索引值

来自分类Dev

如何在特定字段中显示重复值

来自分类Dev

如何从Meteor的不同集合中的特定字段返回值?

来自分类Dev

如何从json响应中获取特定字段值?

来自分类Dev

R-在更改特定字段中的值时重复行

来自分类Dev

如何从WooCommerce结帐中清除特定的计费字段值

来自分类Dev

awk检查数组或文件中是否存在特定字段的值

来自分类Dev

在Solr的多值字段中查询特定的索引值

来自分类Dev

如何在mongodb中返回特定字段的值

来自分类Dev

如何从Qt中的字符串获取特定字段的值

来自分类Dev

如何使用mysqli在表的特定字段中插入多个值?

来自分类Dev

如何基于Java中的特定字段值过滤Spark RDD?

来自分类Dev

如何从json响应中获取特定的字段值

来自分类Dev

从逗号分隔的特定字段值中删除单词

来自分类Dev

如何在 Javascript 数组特定字段中传递我的值...?

来自分类Dev

如何提取在特定字段中具有混合值的记录?

来自分类Dev

如何在 Codeigniter Php 中获取 JSON 的字段特定值?

来自分类Dev

如何在 symfony 2.8 中访问特定帖子字段的值

来自分类Dev

BigQuery:如何获取列中特定字段的值?

Related 相关文章

  1. 1

    查询多值字段中的特定索引值

  2. 2

    字段中特定值的连续编号

  3. 3

    字段中特定值的连续编号

  4. 4

    查询多值字段中的特定索引值

  5. 5

    sql中特定字段的字段唯一值

  6. 6

    在MongoDB全文搜索中的特定字段中搜索值

  7. 7

    如何检查MySQL中字段中的特定值是否存在

  8. 8

    如何从cakephp中的表中获取特定的字段值?

  9. 9

    使用ubuntu中的命令从文件中获取特定的字段值

  10. 10

    Mongoid:如何验证哈希字段中特定键的值?

  11. 11

    在Solr的多值字段中查询特定的索引值

  12. 12

    如何在特定字段中显示重复值

  13. 13

    如何从Meteor的不同集合中的特定字段返回值?

  14. 14

    如何从json响应中获取特定字段值?

  15. 15

    R-在更改特定字段中的值时重复行

  16. 16

    如何从WooCommerce结帐中清除特定的计费字段值

  17. 17

    awk检查数组或文件中是否存在特定字段的值

  18. 18

    在Solr的多值字段中查询特定的索引值

  19. 19

    如何在mongodb中返回特定字段的值

  20. 20

    如何从Qt中的字符串获取特定字段的值

  21. 21

    如何使用mysqli在表的特定字段中插入多个值?

  22. 22

    如何基于Java中的特定字段值过滤Spark RDD?

  23. 23

    如何从json响应中获取特定的字段值

  24. 24

    从逗号分隔的特定字段值中删除单词

  25. 25

    如何在 Javascript 数组特定字段中传递我的值...?

  26. 26

    如何提取在特定字段中具有混合值的记录?

  27. 27

    如何在 Codeigniter Php 中获取 JSON 的字段特定值?

  28. 28

    如何在 symfony 2.8 中访问特定帖子字段的值

  29. 29

    BigQuery:如何获取列中特定字段的值?

热门标签

归档