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

MongoDB 4.4.25中用字段值更新字段时$符号失效问题咨询

问题原因及解决方案

原因

在MongoDB 4.4版本中,你当前使用的是传统更新语法,这种语法下$set里的'$creationDate'会被识别为普通字符串字面量,而非对已有字段creationDate的值引用。传统更新操作(非聚合管道模式)不支持直接将一个字段的值赋值给另一个字段。

正确写法

需要改用聚合管道形式的更新语句,通过$set聚合操作符结合字段引用语法实现字段值的复制:

db.getCollection("myCollection").updateMany(
    {},
    [
        { "$set" : { "updateDate" : "$creationDate" }}
    ]
)

核心区别是把第二个参数从普通对象改成数组形式的聚合管道,此时MongoDB会将$creationDate解析为对文档中creationDate字段的引用,而非字符串。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 09:13:11