您可能知道,每当我们在“sails-orientdb adapter”配置中设置一个新数据库时,它就会创建数据库,现在在数据库创建时就会创建数据库,如果在具有此名称的orientdb中没有数据库,现在我想创建与类相关的顶点,你可以说这些顶点是我的应用程序的默认值,每当创建新数据库时,也会创建这些默认值,但是当数据库已经存在时,这些默认值也将被跳过。
现在,在Waterline或Oriento中是否有类似exists()的函数可以检查在orientdb中是否存在具有指定名称的数据库并返回true或false?
答案 0 :(得分:1)
没有函数.exists()
,但Oriento有一个名为.list()
的函数,它将列出所有数据库并允许检查特定数据库是否存在。要从Sails-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);
});
这是Sails-OrientDB在创建数据库之前用于确定数据库是否存在的逻辑:https://github.com/appscot/sails-orientdb/blob/master/lib/connection.js#L604-L608