2015-06-20 100 views
1

正如你可能知道,每當我們在「sails-orientdb適配器」配置中設置一個新的數據庫時,它會創建數據庫,現在創建數據庫的時候數據庫將會被創建if orientdb中沒有這個名字的數據庫,現在我想創建與某個類相關的頂點,可以說這些頂點是我的應用程序的默認值,每當創建新數據庫時,這些默認值也會被創建,但是當數據庫已經存在時默認值也會被跳過。檢查是否存在具有指定名稱的數據庫

現在有沒有像Waterline或Oriento裏面可用的exists()這樣的函數,它可以檢查內部配置中指定名稱的數據庫是否存在或不在orientdb內部並返回true或false?

回答

1

沒有函數.exists(),但是Oriento有一個名爲.list()的函數,它將列出所有DB並允許檢查是否存在特定的DB。要從帆-OrientDB做到這一點,你可以使用自定義的方法.getServer()如下:

// Assume a model named "Post" 
Post.getServer() 
    .list() 
    .then(function (dbs) { 
    var dbExists = _.find(dbs, function(db) { 
     return db.name === 'myDatabaseName'; 
    }); 
    console.log('myDatabaseName exists:', dbExists); 
}); 

這是帆,OrientDB使用,以確定是否DB創建它之前就存在邏輯:https://github.com/appscot/sails-orientdb/blob/master/lib/connection.js#L604-L608

相關問題