我正在编写一个简单的测试应用程序来试验 node.js 和 couchdb 的功能,到目前为止我很喜欢它,但我遇到了障碍。我已经广泛寻找,但似乎找不到答案。我的测试服务器(一个简单的地址簿)做了两件事:
- 如果用户去
localhost:8000/{id}
然后我的应用程序返回具有该 ID 的用户的姓名和地址。
- 如果用户去
localhost:8000/
那么我的应用程序需要返回一个包含超链接名称的列表,并将它们带到页面localhost:8000/{id}
.
我能够满足第一个要求。我似乎无法找到如何从我的 couchdb 中检索所有名称的列表。这就是我需要帮助的。这是我的代码:
var http = require('http');
var cradle = require('cradle');
var conn = new(cradle.Connection)();
var db = conn.database('users');
function getUserByID(id) {
var rv = "";
db.get(id, function(err,doc) {
rv = doc.name;
rv += " lives at " + doc.Address;
});
return rv;
}
function GetAllUsers() {
var rv = ""
return rv;
}
var server = http.createServer(function(req,res) {
res.writeHead(200, {'Content-Type':'text/plain'});
var rv = "" ;
var id = req.url.substr(1);
if (id != "")
rv = getUserByID(id);
else
rv = GetAllUsers();
res.end(rv);
});
server.listen(8000);
console.log("server is runnig");
如您所见,我需要填写 GetAllUsers() 函数。任何帮助,将不胜感激。提前致谢。
我希望你做类似的事情(使用 nano,这是我编写的一个库):
var db = require('nano')('http://localhost:5984/my_db')
, per_page = 10
, params = {include_docs: true, limit: per_page, descending: true}
;
db.list(params, function(error,body,headers) {
console.log(body);
});
我不太确定你想实现什么目标http
在那里,但如果您正在寻找更多示例,请随时前往我的博客。只是为开始使用节点和沙发的人们写了一篇博客文章 http://writings.nunojob.com/2011/09/getting-started-with-nodejs-and-couchdb.html
如上所述,您将需要创建自己的视图。检查CouchDB API 维基 http://wiki.apache.org/couchdb/HTTP_view_API, then 浏览这本书 http://guide.couchdb.org/editions/1/en/views.html,检查有哪些设计文件 http://guide.couchdb.org/editions/1/en/design.html,那么如果你愿意的话,你可以去检查一下我用于视图生成和查询的测试代码 https://github.com/dscape/nano/blob/master/tests/view/query.js#L7.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)