Ссылка на базу данных не определена в arangojs на узле js - PullRequest
0 голосов
/ 30 октября 2019

Я пытаюсь использовать диск ArangoJS на Node JS, когда я добавляю следующий код в основной файл 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;

Если я использую код из функции insertUser в app.js напрямую, он работаетхорошо.

Пожалуйста, совет

Спасибо

Примечание: я использую Express с Node js

1 Ответ

1 голос
/ 30 октября 2019

Вам нужно запросить базу данных вне класса и использовать 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;
...