【问题标题】:How to create a default `creationDate` for a document in sanity.io?如何在 sanity.io 中为文档创建默认的“creationDate”?
【发布时间】:2018-07-26 17:41:25
【问题描述】:

我已经检查了documentation 如何做到这一点,但我还没有找到答案。

基本上,当创建/发布文档时,我想为文档设置一个createdDate(作为只读/隐藏字段)。

【问题讨论】:

    标签: date sanity


    【解决方案1】:

    我找到了答案here

    文档的核心是一个 JSON 对象,它具有唯一的 _id、时间戳(_createdAt_updatedAt)和修订标记 _rev。

    所以创建日期是由理智自动生成的,包括许多其他有趣的属性。

    【讨论】:

    • 没错。 _createdAt 是创建文档时锁定的只读属性。您实际上可以在创建文档时提交 _createdAt 和 _updatedAt 值(通过 api,以支持导入数据重新创建其历史记录),但创建后,这些字段是只读的,并且完全由 Sanity 管理。
    【解决方案2】:

    svale's comment 中所述,可以同时设置_createdAt_updatedAt,但只能在创建时设置。我一直在使用Sanity's official JS client,它允许我这样做:

    await client.create({
        _type: "someType",
        _createdAt: "2019-12-31T12:34:56Z",
        _updatedAt: "2020-01-01T12:34:56Z",
    });
    

    此外,如果需要,可以设置自定义_id

    更新文档时,这些属性确实是只读的,不能手动更改。

    【讨论】:

      猜你喜欢
      • 2019-07-13
      • 2013-05-14
      • 2020-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-17
      相关资源
      最近更新 更多