【问题标题】:Database reference is not defined in arangojs on node js数据库引用未在节点 js 上的 arangojs 中定义
【发布时间】:2019-10-30 11:52:20
【问题描述】:

我正在尝试在 Node JS 上使用 ArangoJS 驱动器,当我将以下代码添加到主 app.js 文件时,它可以工作,但是当添加到不同文件中的类中的函数时,它会引发错误。

数据库未定义

代码如下

class User {
insertUser() {
        Database = require('arangojs').Database;
        db = new Database();
        db.useBasicAuth("", "");
        db.useDatabase('_system');

        collection = db.collection('Users');
        doc = {
          _key: 'firstDocument',
          a: 'foo',
          b: 'bar',
          c: Date()
        };
        collection.save(doc).then(
          meta => console.log('Document saved:', meta._rev),
          err => console.error('Failed to save document:', err)
        );
}
contructor() {

}
}



 module.exports = User;

如果我直接在 app.js 中使用 insertUser 函数中的代码,它就可以正常工作。

请多指教

谢谢

注意:我在 Node js 中使用 Express

【问题讨论】:

    标签: javascript node.js arangodb arangojs


    【解决方案1】:

    您需要在类之外使用数据库并使用 const:

    const { Database } = require('arangojs');
    class User {
    contructor() {}
    
    insertUser() {
            db = new Database();
            db.useBasicAuth("", "");
            db.useDatabase('_system');
    
            collection = db.collection('Users');
            doc = {
              _key: 'firstDocument',
              a: 'foo',
              b: 'bar',
              c: Date()
            };
            collection.save(doc).then(
              meta => console.log('Document saved:', meta._rev),
              err => console.error('Failed to save document:', err)
            );
    }
    
    }
    
    
    
     module.exports = User;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-23
      • 2018-06-10
      • 2019-11-03
      • 2021-04-04
      • 2018-03-01
      • 1970-01-01
      相关资源
      最近更新 更多