我使用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));
});
}
};