You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MongoDB聚合中如何按字符限制字符串字段?

MongoDB 保留所有字段同时截取 Paragraph 内容到6个字符

你用$project时只指定了处理后的Paragraph字段,所以默认会过滤掉其他所有字段(除了_id,但你需要保留title,因此得调整写法)。要实现保留所有原有字段,同时把Paragraph截取为前6个字符,有两种实用方法:


方法1:在$project中显式保留需要的字段

$project默认只返回你指定的字段,所以需要把title等字段也显式声明保留,同时处理Paragraph:

{
  $project: {
    title: 1, // 保留title字段
    Paragraph: { $substr: ["$Paragraph", 0, 6] } // 截取前6个字符
  }
}

注:_id字段默认会被保留,不需要额外声明;如果要排除_id,才需要写_id: 0


方法2:用$addFields替换字段(更便捷)

$addFields会自动保留所有原有字段,仅替换或添加指定字段,不用逐个声明要保留的字段,更高效:

{
  $addFields: {
    Paragraph: { $substr: ["$Paragraph", 0, 6] }
  }
}

执行任意一种方法后,都会得到你想要的结果:

[
{
   "_id" : ObjectId("5e41877df4cebbeaebec5146"),
   "title": "this is a title",
   "Paragraph" : "My Nam"
},
{
   "_id" : ObjectId("5e4187d7f4cebbeaebec5147"),
   "title": "this is a title",
   "Paragraph" : "David "
}
]

内容的提问来源于stack exchange,提问作者Tribe56123

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 17:01:24