mongodb没有错误的错误uri

时间:2016-07-09 12:31:25

标签: node.js mongodb

我在试图绕着mongodb缠身时遇到了很大的问题。

首先,我尝试使用mongoose,但我真的不喜欢它的模式,我想拥有自己的类,并以经典风格执行CRUD操作。

所以我继续开始使用mongodb。我想我已经放弃并使用MySQL,因为我发现他们的文档非常模糊,而且github上也没有公共问题跟踪器。

无论如何,我的问题是,如果我连接到非现有数据库或非现有主机,mongodb不会显示任何错误。

我的代码:

const mongodb     = require( 'mongodb' ),
      MongoClient = mongodb.MongoClient;

let db_uri = `mongodb://${config.host}:${config.port}/${config.name}`;
MongoClient.connect( db_uri, function( err, mongoclient ) {
  console.log( err );
});

假设config.host或config.port不正确。

错误总是无效。

为什么会这样?

1 个答案:

答案 0 :(得分:0)

Mongodb做得很好(在某些情况下,如果你的手指很胖,真的很烦人),如果你试图连接一个不存在的数据库,它会为你创建它。我知道它在命令行中执行了此操作,但它似乎也使用此代码执行此操作。使用npm node instructions中的插入代码,我能够测试并验证这一点。

编辑 - 删除示例并添加实际有用的内容

这可能很麻烦,但有一种方法可以测试是否存在集合。你问索引是否存在。



const mongodb     = require( 'mongodb' ),
      MongoClient = mongodb.MongoClient;

var db_uri = "mongodb://localhost:27017/newDb";
MongoClient.connect( db_uri, function( err, db ) {
    var collection = db.collection('documents');
    collection.indexExists(0, function(err, indexExists){
  });
});