javascript - Node js 上的 arangojs 中未定义数据库引用

标签 javascript node.js arangodb arangojs

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

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 一起使用

最佳答案

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

关于javascript - Node js 上的 arangojs 中未定义数据库引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58624771/

相关文章:

database - ArangoDB升级丢失数据

javascript - 如何从同一对象的方法引用属性?

javascript - JavaScript 中的函数表达式与声明有什么区别?

javascript - 误导性 “Calling an asynchronous function without callback is deprecated” 警告

spring - 在 Spring Data ArangoDB 中使用地理空间查询时出现内存不足异常

php - 如何使用 ArangoDB 在 PHP 中进行用户注册和身份验证?

javascript - 继承javascript Number 改为String

javascript - css 在悬停时将隐藏更改为可见

javascript - socket.io 房间不工作

javascript - 为什么 'finish' 事件会在 _flush 完成之前在 Node.js 转换流上触发?