【问题标题】:Mongodb Auto Updating FieldMongodb 自动更新字段
【发布时间】:2017-07-21 18:24:43
【问题描述】:

我的 mongodb 文档中有一个名为“Age”的字段,我想知道是否有任何方法可以每年在用户生日时自动递增该字段。可能吗?如果是这样,最简单的方法是什么?还有,有什么推荐的?

【问题讨论】:

    标签: node.js mongodb mongoose database


    【解决方案1】:

    您可以安排一个 cron 任务或任何其他应用程序代码来查询您的数据库中的相关用户并更新他们的年龄。 不过我强烈建议不要这样做。

    年龄属性是在给定当前时间的情况下对出生日期的计算。 您希望保持这种状态,并即时计算:

    1. 有两个字段,其中一个可以从另一个计算出来,这是多余的并且容易出错。
    2. 操作本身在空间和数据访问方面是浪费的。
    3. age 属性的值取决于应用逻辑,在某些情况下,您可能需要考虑非整数日期或以不同方式路由。

    我的建议是,只要您需要,只需根据出生日期计算年龄,并使用出生日期字段进行所有数据库查询。

    祝你好运

    艾尔

    【讨论】:

    • 我将删除“年龄”字段并坚持只使用“生日”字段,非常感谢您的帮助:)
    【解决方案2】:

    不,MongoDB 中没有这样的东西(自动更新)。必须使用应用程序或脚本来完成。你可以制作 f.ex。 cronjob 每天更新一次,就在午夜之后,用户当天 DOB 所在文档的所有“年龄”字段。

    【讨论】:

      【解决方案3】:

      没有这个字段,但是可以。 MongoDB Create an Auto-Incrementing Sequence Field

      有一个很好的教程

      【讨论】:

        猜你喜欢
        • 2017-02-09
        • 1970-01-01
        • 1970-01-01
        • 2017-09-09
        • 1970-01-01
        • 1970-01-01
        • 2014-07-24
        • 2015-06-24
        • 2013-07-18
        相关资源
        最近更新 更多