mongoDB查询失败的位置

时间:2017-06-15 13:58:32

标签: mongodb

我正在尝试将大量日期转换为ISODate对象并将其存储在同一个集合和字段中。我使用以下查询:

db.collection.find().forEach(function(element){
  element.StartTime = ISODate(element.StartTime);
  element.StopTime = ISODate(element.StopTime);
  db.collection.save(element);
});

查询运行了大约10分钟,然后发出错误:

2017-06-15T15:48:10.419+0200 E QUERY    [thread1] Error: invalid ISO date :
ISODate@src/mongo/shell/types.js:65:1
@(shell):2:23
DBQuery.prototype.forEach@src/mongo/shell/query.js:501:1
@(shell):1:1

我查看了数据库中的条目,看起来它确实转换了很多数据集,但我现在遇到麻烦,现在修复错误并找到它停止的位置。我尝试使用Studio3T查找“StartTime”或“StopTime”的值为2017-06-15T15:48:10.419+0200或至少以2017-06开头的位置,但正如我所料(因为不应该有任何数据)从2017年6月起,它找不到任何东西。

现在,当我再次运行查询时,它会立即显示错误。

我的问题是,是否有可能在集合中找到导致此错误的文档或原因可能是什么。是否有针对这样的批量操作的建议来防止这些错误?

0 个答案:

没有答案