Mongo游标迭代中断update1

时间:2018-10-03 20:15:31

标签: javascript node.js mongodb migration

我使用migrate-mongo拥有此代码。 migrate-mongo使用的是mongodb 3.1.6

我正在尝试更新users集合中的所有记录,但是每次都仅更新第一条记录。 updateOne承诺永远不会解决或出错。

"use strict";

const ObjectID = require("mongodb").ObjectID;

module.exports = {
  up(db) {
    const users = db.collection("users");

    // Update using foreach because we need to edit based on current value
    const updates = users.find({}).forEach(doc => {
      const newLikes = doc.likes
        .map(like => like.toLowerCase().trim())
        .filter((like, i, arr) => like && arr.indexOf(like) === i);

      users
        .updateOne({ _id: ObjectID(doc._id) }, { $set: { likes: newLikes } })
        .then(suc => console.log("suc"))
        .catch(err => console.log("err", err));
    });
  }
};

0 个答案:

没有答案