节点 js 上的 arangojs 中未定义数据库引用

Database reference is not defined in arangojs on node js

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

Database is not defined

代码如下

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 函数的代码,它工作正常。

请指教

谢谢

注意:我正在使用 Express 和 Node js

您需要在 class 之外要求数据库并使用 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;