我正在尝试使用2.2 GA版本的OrientDB测试最新版本的orientjs。使用下面非常简单的代码,我没有错误或异常,也没有回调函数的输出。我也没有在OrientDB服务器日志中看到任何内容(它在本地服务器上运行,可以通过Web GUI访问)。
var OrientDB = require('orientjs');
try {
var server = OrientDB({
host: 'localhost',
port: 2424,
username: 'admin',
password: 'admin'
});
} catch(error) {
console.error('Exception: ' + error);
}
console.log('>> connected');
try {
server.list()
.then(function(dbs) {
console.log(dbs.length);
});
} catch(error) {
console.error('Exception: ' + error);
}
try {
var db = server.use({
name: 'GratefulDeadConcerts',
username: 'admin',
password: 'admin'
});
} catch(error) {
console.error('Exception: ' + error);
}
console.log('>> opened: ' + db.name);
try {
db.class.list()
.then(function(classes) {
console.log(classes.length);
});
} catch(error) {
console.error('Exception: ' + error);
}
db.close()
.then(function() {
server.close();
});
如何解决此问题?
答案 0 :(得分:3)
我认为用户和密码错误。
顺便说一句,如果你想捕获错误,你应该使用promises catch而不是try / catch block
var OrientDB = require('orientjs');
var server = OrientDB({
host: 'localhost',
port: 2424,
username: 'admin',
password: 'admin'
});
server.list()
.then(function(dbs) {
console.log(dbs.length);
}).catch(function(error){
console.error('Exception: ' + error);
});
这个脚本会发生什么?
var OrientDB = require('orientjs');
var server = OrientDB({
host: 'localhost',
port: 2424,
username: 'root',
password: 'root'
});
var db = server.use({
name: 'GratefulDeadConcerts',
username: 'admin',
password: 'admin'
});
db.query('select from v limit 1')
.then(function(results) {
console.log(results)
server.close();
}).catch(function(error){
server.close();
});