如何在mongoose updateMany()中将字符串添加到当前值

如何在mongoose updateMany()中将字符串添加到当前值,mongoose,Mongoose,//节点js mongoose //例如,ids=['id1','id2'] const usersUpdated = await User.updateMany( { _id: { $in: ids } }, [ { $set: { username: { $concat: ['$username', deletedFormate] } } } ], { multi: true, new: true }, function(error, result) { }

//节点js mongoose //例如,ids=['id1','id2']

const usersUpdated = await User.updateMany(
  { _id: { $in: ids } },
  [
    { $set: { username: { $concat: ['$username', deletedFormate] } } }
  ],
  { multi: true, new: true },
  function(error, result) {

  }
);
//我需要在所有匹配用户名后添加字符串 //例如,如果updateMany找到2个文档
//1. username=m2012我想用m2012添加55555,更新后将为//m201255555

请按照下面的方法使用$concat

let query = {
    _id: {
        $in: ids
    }
};
let changes = {
    $set: {
        username: {
            "$concat": ["$username", deletedFormate]
        }
    }
};
let usersUpdated = await User.updateMany(query, [changes]).lean();
console.log(usersUpdated);

注:上述方法仅适用于mongodb 4.2版及以上版本

答案发布。如果你喜欢我的努力,请批准并投票支持我的回答