我正在写一个简单的测试应用程序来测试node.js和couchdb的功能,到目前为止我很喜欢它,但是我遇到了一个障碍。我已经找了很多,但是似乎找不到答案。我的测试服务器(一个简单的地址簿)做两件事:
1.如果用户转到localhost:8000/{id}
,则my app返回具有该ID的用户的名称和地址。
1.如果用户转到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()函数。任何帮助都将不胜感激。提前感谢。
2条答案
按热度按时间szqfcxe21#
我希望你能做一些类似的事情(使用nano,这是我编写的一个库):
我不太清楚你想用
http
完成什么,但是如果你想寻找更多的例子,请随时访问我的博客。如前所述,你需要创建自己的视图,检查一下CouchDB API Wiki,然后检查一下scan thru the book,检查一下design documents是什么,如果你愿意,你可以检查一下我的视图生成和查询测试代码。
iqxoj9l92#
你可以创建一个CouchDB视图来列出用户。下面是一些关于CouchDB视图的资源,你应该阅读这些资源来更好地了解这个主题:
假设您的文档结构如下:
然后您可以创建一个CouchDB视图(Map部分),如下所示:
创建视图后,您可以从node.js应用程序查询它:
这只是一个例子,首先我建议浏览一下上面的参考资料,学习CouchDB视图的基础知识和它的功能。