gpt4 book ai didi

Node.JS 支架和 couchDB 帮助

转载 作者:太空宇宙 更新时间:2023-11-04 02:40:40 25 4
gpt4 key购买 nike

我是 Node.JS 的菜鸟。我正在使用 CouchDB 和 Cradle。在 couchDB 中,我有一个名为“test”的数据库,其中有一个名为“exercise”的文档。该文档有 2 个字段:“FullName”和“Age”。保存数据的代码如下:

var cradle = require('cradle');
var connection = new(cradle.Connection)('http://127.0.0.1', 5984, {
auth: { username: 'toto_finish', password: 'password' }
});

var db = connection.database('test');
db.save('exercise', {
FullName: param_name, Age: param_age
}, function (err, res) {
if (err) {
// Handle error
response += ' SAVE ERROR: Could not save record!!\n';
} else {
// Handle success
response += ' SUCESSFUL SAVE: The record was saved in CouchDB!\n';
}
http_res.end(response);
});

这段代码运行良好,它将数据保存到 CouchDB 中。我的问题是当我想读取数据时。我写的代码是:

  var cradle = require('cradle');
var connection = new(cradle.Connection)('http://127.0.0.1', 5984, {
auth: { username: 'toto_finish', password: 'password' }
});

var db = connection.database('test');
db.view('exercise/all', {descending: true}, function(err, res)
{
console.log(res);
res.forEach(function (row) {
response = 'FullName: ' + row.FullName + '\n Age: ' + row.Age + '\n';
});
});
http_res.end(response);

当我尝试打印响应时,响应为空,我不知道我做错了什么。我知道它不会进入 forEach 循环,但我不明白为什么。

控制台输出是:

[ { id: 'exercise',
key: null,
value:
{ _id: 'exercise',
_rev: '1-7042e6f49a3156d2099e8ccb3cc7d937',
FullName: 'Toto Finish',
Age: '30' } } ]

预先感谢您的任何回复或解答。

最佳答案

尝试将 http_res.send() 调用移至提供给 db.view 的回调中 - 匿名函数( err, res ) { }。

但是我不确定 .forEach 语句,您只能从 response 变量中的查询中获取最后一个值,您也应该研究一下。

关于Node.JS 支架和 couchDB 帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16508373/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com