Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
查询Cloudant(使用node.js模块)数据库中的文档列表?_Node.js_Couchdb_Cloudant_Couchdb Nano - Fatal编程技术网

查询Cloudant(使用node.js模块)数据库中的文档列表?

查询Cloudant(使用node.js模块)数据库中的文档列表?,node.js,couchdb,cloudant,couchdb-nano,Node.js,Couchdb,Cloudant,Couchdb Nano,考虑一个包含如下文档的数据库: { username: "user_1", email: "user_1@mail.com" } 现在,我得到了一个用户名列表,即: ["user_1", "user_2", "user_N"] 我还回了他们的电子邮件列表: ["user_1@mail.com","user_2@mail.com","user_N@mail.com"] 如何有效地解决此问题 使用Node.js查询Cloudant(基于nano库)数据库。您可以在数据库上创建一个

考虑一个包含如下文档的数据库:

{ 
   username: "user_1",
   email: "user_1@mail.com"
}
现在,我得到了一个用户名列表,即:

["user_1", "user_2", "user_N"]
我还回了他们的电子邮件列表:

["user_1@mail.com","user_2@mail.com","user_N@mail.com"]
如何有效地解决此问题


使用Node.js查询Cloudant(基于nano库)数据库。

您可以在数据库上创建一个视图,将用户名映射到电子邮件,然后使用键作为参数运行以返回结果

或者,您也可以使用Cloudant的节点库使用或检索文档


视图可能是您所需要的全部,但是如果您需要根据每个文档中不同的属性组合进行查询,那么使用Cloudant搜索的搜索索引可能是一种可行的方法。我不确定Cloudant query提供了什么好处。

您可以在数据库上创建一个视图,将用户名映射到电子邮件,然后使用键作为参数运行以返回结果

或者,您也可以使用Cloudant的节点库使用或检索文档


视图可能是您所需要的全部,但是如果您需要根据每个文档中不同的属性组合进行查询,那么使用Cloudant搜索的搜索索引可能是一种可行的方法。我不确定Cloudant query提供了什么好处。

您不需要新视图,请参阅

Nano提供了方法,所以

db.fetch({keys: ["user_1", "user_2", "user_N"]}, function(err, body) {
  var emails = body.rows.map(function(row) {
    return row.doc.email;
  })
})

您不需要新视图,请参见

Nano提供了方法,所以

db.fetch({keys: ["user_1", "user_2", "user_N"]}, function(err, body) {
  var emails = body.rows.map(function(row) {
    return row.doc.email;
  })
})

非常感谢,这正是我想要的。非常感谢,这正是我想要的。