使用orientjs解决基本问题(node.js的OrientDB驱动程序)

时间:2016-05-19 03:40:47

标签: javascript node.js orientdb orientjs

我正在尝试使用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();
});

如何解决此问题?

1 个答案:

答案 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();
  });