有没有办法从Node.js驱动程序检查Mongo中是否存在数据库?

Jor*_*lva 7 database mongodb node.js

我发现很难从Node.js驱动程序中找到一种方法来查看MongoDB中是否存在数据库.这里似乎是在Node.js的驱动程序没有方法来检查,如果一个数据库中.

例如,以下内容不会引发错误:

var mongo = require('mongodb').MongoClient;

mongo.connect({ 'mongodb://localhost:27017/databaseThatDoesntExists }, function (err, db) {
   // There is no error
   if (err) console.log(err);
   // Let's get some stats on a database that doesn't exist
   db.statsAsync(function (err, result) {
      console.log(result);
   });
});
Run Code Online (Sandbox Code Playgroud)

结果将是这样的对象:

{ db: 'databaseThatDoesntExist',
  collections: 0,
  objects: 0,
  avgObjSize: 0,
  dataSize: 0,
  storageSize: 0,
  numExtents: 0,
  indexes: 0,
  indexSize: 0,
  fileSize: 0,
  ok: 1 }
Run Code Online (Sandbox Code Playgroud)

你可以通过Node.js驱动程序查看MongoDB中是否存在数据库吗?MongoDB中是否存在数据库的概念?引用一个不存在的数据库只引用没有集合的数据库?

Mongo,你为什么不能抛出一个错误!我喜欢我的代码throws错误!

Jor*_*ata 7

检查是否db.admin().listDatabases包含数据库名称.

如果服务器已启用授权,则您将需要适当的权限.