我可以在Cloudant NOSQL数据库中查询特定数据吗?

时间:2017-02-24 09:29:25

标签: database cloudant nosql

“data”:{     “d”:[       100,       0,       1,       1,       0,       22,       55,       66,       99,       87     ] 这是我在Cloudant NOSql数据库上的数据格式数组“d”中的每个整数对应于来自设备的特定参数值,是否可以仅从数组中查询对应于特定参数的所需数据(可能是100)? p>

2 个答案:

答案 0 :(得分:0)

我不确定我是否完全理解这个问题,但我想要你想要的是使用如下所示的地图功能创建一个视图:

function(doc) {
  doc.data.d.map(function(parameter) {
    emit(parameter);
  });
}

这将允许您搜索参数值22并查找具有此参数值的所有文档。

答案 1 :(得分:0)

使用此map函数创建一个视图,该函数返回数组100的第一个索引中具有值data.d的所有文档:

function (doc) {
  if (doc.data && doc.data.d && doc.data.d.length>0 && doc.data.d[0] == 100)
    emit([doc._id,doc.data.d[0]], 1);
}

这是一个查询,列出包含3个数据行和1个包含上述地图功能的设计文档的示例数据库:

https://rajsingh.cloudant.com/aaa/_all_docs?include_docs=true

这里的查询只返回符合视图约束的文档:

https://rajsingh.cloudant.com/aaa/_design/views/_view/dzero?limit=200&reduce=false&include_docs=true