2015-06-20 91 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

相关问题