简单的字段查询?

时间:2012-12-10 19:35:06

标签: node.js couchdb couchdb-nano

我正在使用nano通过node.js连接到couchDB;我已经阅读了couch.db的基本文档并且大部分都了解它,但我没有在任何地方看到简单的查询功能。我想做的就是(从我的服务器),从特定文档中获取字段的值。我该怎么做?

此外,在寻找答案时,我跑过一个网站,说一个html页面可以直接向数据库发送GET以获取值;我认为数据库是安全的,所以这怎么可能?我想我在这里错过了一些大事。

1 个答案:

答案 0 :(得分:0)

通过id获取特定文档的最简单方法是使用get方法。这将返回文档本身:

var Nano = require('nano'),
    db = new Nano('http://admin:password@localhost:5984').use(yourDatabase),

db.get(yourDocumentId, function (err, yourDocument, headers) {
  return console.log(err || yourDocument);
  });

关于直接从CouchDB请求数据的网页的第二个问题:只要您在CouchDB中专门为最终用户登录,就可以安全地完成此操作。您的最终用户将登录到CouchDB,CouchDB会返回一个cookie,您的浏览器会在每次后续请求时向CouchDB发送一个cookie,作为对自身进行身份验证的方式。 有关详细信息,请参阅http://guide.couchdb.org/editions/1/en/security.html#cookies

就个人而言,我不会使用这种方法,因为它太容易将UI与数据耦合,从而使未来的更改变得更加困难。我建议在Express中创建一个REST api,并从你的UI中调用它。它将使您的UI代码更专注于UI逻辑,并且您的api实现专注于处理CouchDB文档和视图操作。