String 在mongodb中将字符串前置到整个列

String 在mongodb中将字符串前置到整个列,string,mongodb,prepend,String,Mongodb,Prepend,我想在mongo集合列的所有值前加一个字符串 差不多 db.testcoll.update({},{$set:{column1 : "prependstring"+ column1}}); 在聚合管道中使用$concat操作符可以实现类似的功能 db.testcoll.aggregate([{ $project: { column1: { $concat: ['prependstring', '$column1'] } } }]); 正如官方MongoD

我想在mongo集合列的所有值前加一个字符串

差不多

 db.testcoll.update({},{$set:{column1 : "prependstring"+ column1}});

在聚合管道中使用
$concat
操作符可以实现类似的功能

db.testcoll.aggregate([{
  $project: {
    column1: {
      $concat: ['prependstring', '$column1']
    }
  }
}]);

正如官方MongoDB文档()中所规定的那样,
$concat
操作符只处理字符串。

您还需要投影文档中的所有其他字段,以获得与原始文档类似的输出文档。聚合管道从旧文档创建新文档,您需要使用
$out
保存到新集合。@wdberkeley确实如此。为了永久更改集合,必须指定$out阶段以及需要检索、修改和更新每个文档的输出集合的名称。您可以使用下面的答案中解释的聚合框架,但它将生成一组新文档,而不是修改旧文档。您可以使用
$out
阶段将新文档保存到新集合中。