按照官網教程操作創建數據庫:
// 引包
var Database = require('arangojs').Database
var db = new Database('http://127.0.0.1:8529');
db.createDatabase('mydb').then(
() => console.log('Database created'),
err => console.error('Failed to create database:', err)
);
報錯:Failed to create database: { ArangoError: not authorized to execute this request
。
爲 權限 問題(連接 arangodb 使用的 user 沒有訪問 system 數據庫的權限),解決方案:使用 root
用戶登錄 system 數據庫
代碼改爲:
// 引包
var Database = require('arangojs').Database
const username = 'root' // default user
const password = '' // blank password by default
var db = new Database('http://127.0.0.1:8529');
db.useBasicAuth(username, password);
db.createDatabase('mydb1').then(
() => console.log('Database-mydb1 created'),
err => console.error('Failed to create database-mydb1:', err)
);
錯誤解決,控制檯成功輸出:
Database-mydb1 created
其它補充:
- 引包的時候可以不指明 .Database
- 可以在上方定義 username 和 password 的時候同時定義 host 和 port
🌰:
// 引包
var arangojs = require('arangojs')
const host = '127.0.0.1'
const port = '8529'
const username = 'root' // default user
const password = '' // blank password by default
const database = '_system'
db = new arangojs.Database({
url: `http://${host}:${port}`,
databaseName: database
});
db.useBasicAuth(username, password);
db.createDatabase('mydb2').then(
() => console.log('Database-mydb2 created'),
err => console.error('Failed to create database-mydb2:', err)
);