使用cpp从mongodb中检索浮点值
retrieve a floating point value from mongo db using cpp
以下是我的代码,我知道test是mongodb数据库中集合中的浮点。我不知道用什么来检索它。值得一提的是,我可以通过以下行访问名称
name = tmpArray[i].embeddedObject().getStringField("name");
string test;
vector <BSONElement> testArray;
BSONObj bsnobj = cursor->next();
bsnobj.getObjectField("here").elems(tmpArray);
for(int i=0; i<testArray.size(); i++){
test = testArray[i].embeddedObject().getObjectField("test").toString();
cout << test is: <<test << endl ;
}
这导致
test is: {}
这就是数据看起来像的样子
{
"here" : [
{
"name" : "x",
"source" : "xx",
"test" : 1,
},
{
"name" : "y",
"source" : "yy",
"test" : 1,
}
],
"if" : true
}
有两个问题:
test = testArray[i].embeddedObject().getObjectField("test").toString();
您使用的是返回另一个命名BSON对象的getObjectField
。如果您想要双人间,则需要使用getField
。其次,要获取test
字段的值作为double,可以使用函数numberDouble
。
因此,您可以将代码更改为:
auto test = testArray[i].embeddedObject().getField("test").numberDouble();
在您提供的样本数据中,结果将是:
test is: 1.0
相关文章:
- .cpp和.h文件中的模板专用化声明
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- Linux的Cpp上的计时器
- 如何运行位于boost/libs/python/example/tutorial目录中的hello.cpp和Jamfil
- 命名空间中具有.h和.cpp文件的类
- 内置函数可查看CPP中的成员变量
- 无法编译 rtmidi 测试 cmidiin.cpp 文件, 非法指令
- Cpp-Tuple使用带有变量的get
- C++-试图将函数指针推回到另一个CPP文件中的矢量时出错
- 有充分的理由在h文件中使用include保护而不是cpp文件吗
- 如何通过cpp程序运行shell脚本
- 使用2个键的cpp-stl::优先级队列排序不正确
- 使用VerQueryValue检索应用程序的文件描述
- cpp二进制搜索问题,计算给定数组中输入元素的出现次数
- 如何在cpp文件之间切换窗口?在Qt中
- 将 JSON 对象作为参数在 JNI 中传递给 CPP,并在 CPP 中检索 JSON 对象的数据
- cpp函数来检索各种数据类型的值
- 使用cpp从mongodb中检索浮点值
- HDF5 Cpp -检索所有组的名称在一个文件
- 正在从cpp中的curl检索响应文本