检查具有指定名称的数据库是否存在



您可能知道,每当我们在"sails-orientdb 适配器"配置中设置新数据库时,它都会创建数据库,现在在创建数据库时,如果 orientdb 中没有具有此名称的数据库,当然将创建数据库,现在我想创建与类相关的顶点,您可以说这些顶点是我的应用程序的默认值, 每当创建新数据库时,也会创建这些默认值,但是当数据库已存在时,这些默认值也将跳过。

现在,在 Waterline 或 Oriento 中是否有任何像 exists() 这样的函数可以检查配置中具有指定名称的数据库在 orientdb 中是否存在并返回 true 或 false?

没有.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

最新更新