在mongodb中将字符串添加到整个列

Posted

技术标签:

【中文标题】在mongodb中将字符串添加到整个列【英文标题】:prepend string to entire column in mongodb 【发布时间】:2014-12-15 04:24:43 【问题描述】:

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

有点像

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

有这样的吗?

【问题讨论】:

您需要检索、修改和更新每个文档。您可以使用下面答案中解释的聚合框架,但它会生成一组新文档,而不是修改旧文档。您可以使用$out 阶段将新文档保存到新集合中。 【参考方案1】:

这可以在聚合管道中使用 $concat 运算符来实现。

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

正如官方 MongoDB 文档 (here) 中所述,$concat 运算符仅适用于字符串。

【讨论】:

您还需要投影文档中的所有其他字段,以获得看起来像原件的输出文档。聚合管道从旧文档创建新文档,是否需要使用 $out 保存到新集合。 @wdberkeley 确实如此。为了永久更改集合,必须指定 $out 阶段以及输出集合的名称

以上是关于在mongodb中将字符串添加到整个列的主要内容,如果未能解决你的问题,请参考以下文章

在 Python 中将 Excel 列类型从 Int 转换为 String

如何在 Bigquery 中将 csv 的所有列作为字符串导入 [关闭]

如何在for循环中将字符串值添加到Pandas Dataframe?

如何在 Vim 中将表情符号输入到字符串中?

如何在 Hive 中将一列拆分为两列

在R中创建一个函数,在整个数据帧中将字符串转换为整数