Cloudant 数据库 Map Reduce

Cloudant Database Map Reduce

我是 cloudant 的新手,没有-sql 数据库(我曾在 mongodb 上工作过)

1) 是否有任何 cloudant ui 可以编写查询以找到用于开发的结果集。

2) 如何在 cloudant 中创建 map-reduce ?..

你能回复我或发送你的想法吗?

搜索索引写在 JavaScript 中(目前,Cloduant 已经推出了他们自己的 "Cloudant Query",它承诺会更容易使用,但我还没有时间尝试还不错。)

假设您的数据库中有文档,其中包含一个名为 "UserName" 的字段,并且您想要创建所有这些的视图。您可以编写这样的函数;

function(doc) {
   if ( typeof doc.UserName !== "undefined" ) {
      emit([doc.UserName], doc._id);
  }
}

例如(会输出用户名和文档id)

如果给定的用户名可以与多个文档相关联,您可以这样做,例如;

function(doc) {
   if ( typeof doc.UserName !== "undefined" ) {
      emit([doc.UserName,doc._id], 1);
  }
}

并使用 Cloudant 提供的内置 "count" 或 "sum" reduce 函数来统计给定用户名关联的文档数量等。

您可以使用 Cloudant DB 仪表板中的 UI 来执行查询,或者(我个人喜欢)使用像 Postman 这样的工具 (https://www.getpostman.com/)

不过要提醒一句;您的 JavaScript 代码的错误和完整性检查几乎不存在,您只会在点击 "save & build index" 时才知道某些东西不工作,如果您在大型数据库上工作(它可以使整个事情停止)。因此,一个专业的提示是,在你让它失去任何重要的东西之前,在一些安全的小沙盒数据库中的较小数据集上计算你的索引......

据推测,使用 Cloudant Query 所有这一切都会变得更好。