在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 的所有列作为字符串导入 [关闭]