为什么我的mongo shell脚本需要这么长时间才能执行?

问题描述

所以我正在使用mongo数据库我有一些收藏的集群。我目前正在移动一些数据,使其以所需的形式显示。具体来说,我要获取当前驻留在一个集合中的约20万个文档,并从本质上将它们“拆分”到其他集合中,以形成一个更干净,可读性,关系性和可访问性的数据库(我想...哈哈)。 我当前正在运行一个脚本,该脚本循环遍历我的200k集合中的所有数据,使用它来收集其他集合中的数据,并最终调用“ insertOne”以将新文档插入目标集合中。 我不太明白的是为什么每个调用至少要花2秒钟才能执行。我以为会更快。我的脚本有问题吗?我打太多电话了吗?还是需要这么长时间? 我正在运行的脚本如下所示:

 db.hebrew_verbs.find({}).forEach((verb) => {
  var pattern = db.patterns.findOne({ pattern: verb.pattern })._id;
  print(verb.vocalized_inflection);
  var family = db.families.findOne({
    root: verb.base_form,pattern: pattern,table_number: verb.table_number,})._id;
  var morph = verb.morphology.split("+");
  var tense = db.tenses.findOne({ en_tense: morph[0] })._id;
  var morPHPos = morph.slice(1,4).join("+");
  var possession = db.possessions.findOne({ morphology: morPHPos })._id;
  db.verbs.insertOne({
    conjugation: verb.vocalized_inflection,family: family,possession: possession,tense: tense,charCodes: verb.charCodes,consonantCodes: verb.consonantCodes,});
});

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)