2016-05-19 74 views
1

我想用OrientDB的2.2 GA版本測試orientjs的最新版本。使用下面非常簡單的代碼,我沒有得到任何錯誤或異常,但也沒有回調函數的輸出。我也沒有看到OrientDB服務器日誌中的任何東西(它在本地服務器上運行,並且可以通過Web GUI訪問)。解決與orientjs的基本問題(OrientDB驅動程序爲node.js)

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

您是否嘗試過較舊版本的ODB?在PHP世界中,我們也有ODB 2.2的問題,因爲PHP驅動程序尚未更新爲新的二進制協議。 –

+0

謝謝。不,我沒有想到這一點。我認爲orientjs將與ODB 2.2兼容。我會嘗試,但是如果是這樣的話,ODB的某個人能否證實這一點? – eric

回答

2

我認爲用戶名和密碼是錯誤的。

順便說一句,如果你想趕上錯誤,你應該使用的承諾追上來代替try/catch塊

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(); 
    }); 
+0

感謝您的幫助。在我的實際代碼中,我使用用戶/密碼,我可以成功登錄到Web GUI,所以我認爲這部分是可以的。但如果不是,我希望得到一個異常告訴我,我的登錄不成功。我確實進行了更改以使用承諾捕獲,但結果相同。我確信我做錯了什麼,但沒有任何迴應 - 好或壞 - 我不知道如何解決這個問題。 – eric

+0

埃裏克我已經添加了一個腳本。在我的箱子裏它有效。你可以試試嗎? – wolf4ood

+0

我會在今天晚些時候嘗試。順便說一下,您使用的是哪個版本的ODB(該腳本適用於)? – eric