如何读取并保存所有云端文档到列表中?

问题描述 投票:0回答:1

所以,我想用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)

node.js nosql cloudant
1个回答
1
投票

如果你想从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()
© www.soinside.com 2019 - 2024. All rights reserved.