MongoDB聚合运算符:$replaceOne

本文详细介绍了MongoDB的$replaceOne聚合运算符,包括其语法、参数解释、与null值的交互、排序规则的影响以及Unicode规范化的行为。通过实例演示了如何在实际应用中使用这个函数进行字符串替换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MongoDB聚合运算符:$replaceOne


$replaceOne聚合运算在输入的字符串中搜索目标字符串,并使用指定的字符串替换第一次找到的目标字符串。如果没有找到目标字符串,则返回输入字符串。 $replaceOne既区分大小写又区分变音符号,并且忽略集合中存在的任何排序规则。

语法

{
    $replaceOne: {
    input: <expression>, find: <expression>, replacement: <expression> } }

参数字段说明

  • input:输入的字符串,可以是任何可被解析为字符串的表达式,如果表达式解析为null或引用的字段不存在,$replaceOne返回null
  • find:要搜索的字符串,可以是任何可被解析为字符串的表达式,如果表达式解析为null或引用的字段不存在,$replaceOne返回null
  • replacement:要替换的的字符串,可以是任何可被解析为字符串或null的表达式。

使用

如果在input中未找到 find,则 $replaceOne 计算结果为input字符串。

输入、查找和替换表达式的计算结果必须为字符串或 null,否则 $replaceOne 会失败并出现错误。

$replaceOne 与 Null

如果 inputfind 引用的字段字段不存在,则返回 null

如果 inputfindreplacement 中的任何一个计算结果为 null,则整个 $replaceOne 表达式计算结果为 null

例如 结果
{ $replaceOne: { input: null, find: "abc", replacement: "ABC" } } null
{ $replaceOne: { input: "abc", find: null, replacement: "ABC" } } null
{ $replaceOne: { input: "abc", find: "abc", replacement: null } } null

$replaceOne 和排序规则

所有 $replaceOne 表达式的字符串匹配始终区分大小写和变音符号,使用 $replaceOne 执行字符串比较时,将忽略配置的任何排序规则。

例如,创建一个排序规则强度为 1 的示例集合:

db.createCollection( "myColl", {
    collation: {
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

原子星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值