所以,我想用Node.js从cloudant数据库中提取所有数据,但我遇到了一些问题,不知道如何获取所有的文档。基本上,我建立了一个完整的react网页,但我对Node.js和cloudant很陌生。使用node运行命令,我可以连接到我的数据库pulllog数据库信息,但我有麻烦的文件,然后把所有的数据在一个列表中,所以我可以创建一个数据的表视图。任何建议将是惊人的,我显然删除了我的凭证安全的目的。
var cloudant = new Cloudant({ url: 'xxxx', plugins: { iamauth: { iamApiKey: 'xxxx' } } });
cloudant.db.list(function(err, body) {
body.forEach(function(db) {
console.log(db);
});
});`
var readDocument = function(callback) {
console.log("Reading document 'slay-data'");
cloudant.db.get('slay-data', function(err, data) {
console.log('Error:', err);
console.log('Data:', data);
// keep a copy of the doc so you know its revision token
doc = [data];
callback(err, data);
//console.log(doc);
});
cloudant.db.list(function (err, data) {
console.log(err, data);
});
};
var docu = readDocument();
console.log(docu)
如果你想从Cloudant数据库中取出所有的数据,你可以这样做(我已经改用asyncawait Node,因为它更容易阅读。
const cloudant = new Cloudant({ url: 'xxxx', plugins: { iamauth: { iamApiKey: 'xxxx' } } });
const db = cloudant.db.use('mydb')
const readAllData = async function () {
// extract all the data, including the document bodies
const response = await db.list({ include_docs: true })
// response.rows is an array with a 'doc' attribute for each document
const docs = response.rows.map((r) => { return r.doc })
return docs
}
readAllData()