定义特定索引时,Mongoose无法插入insertMany

时间:2017-02-05 10:11:23

标签: node.js mongodb mongoose

当使用insertMany命令将文档插入数据库时​​,Mongoose无法插入。我有大约2000个文档要插入,而不是逐个保存每个文件我试图使用insertMany函数来保存它。

如果没有定义特定的索引,那么将它保存在数据库中需要花费大量时间,如果定义了索引,则一旦插入操作发生,连接就会超时。

Model.insertMany(documents, function(batchSaveError, savedDocs) {
  if (batchSaveError) {
    callback(batchSaveError);
  } else {
    callback(null);
  }
});

这是我想要完成的代码。

1 个答案:

答案 0 :(得分:0)

问题似乎很模糊。连接超时似乎很正常,可以在任何情况下发生。但是每当连接超时时,mongoose会尝试自行重新连接。

我缺少的是,我没有安全地捕获连接的error事件,这导致整个应用程序崩溃。就在我为错误事件添加了一个正确的catch语句时,虽然它超时了几次但是插入非常精细并且很顺利。