簡體   English   中英

如何在 StrapiJS 中獲取由字段創建和更新的字段?

[英]How can I get the created by and updated by fields in StrapiJS?

我剛剛開始使用 StrapiJS,到目前為止它真的很棒,但現在我遇到了一個問題。

在創建向數據庫添加一些數據時,Strapi 會自動創建一些字段 - 例如created_byupdated_by字段,但我沒有在 API 響應中得到它們。

這是存儲在 MongoDB 中的數據:

{
    "_id": {
        "$oid": "606fd90b0057c05954d29f50"
    },
    "likes": 0,
    "dislikes": 0,
    "Title": "Why is this not working?",
    "Subtitle": "I really don't know",
    "slug": "why-is-this-not-working",
    "content": "**I DO NOT KNOW**",
    "published_at": {
        "$date": "2021-04-09T04:33:17.304Z"
    },
    "createdAt": {
        "$date": "2021-04-09T04:33:15.232Z"
    },
    "updatedAt": {
        "$date": "2021-04-09T04:33:17.316Z"
    },
    "__v": 0,
    "created_by": {
        "$oid": "606f1a45af15265f780983ce"
    },
    "updated_by": {
        "$oid": "606f1a45af15265f780983ce"
    }
}

這是 API 響應:

{
        "likes": 0,
        "dislikes": 0,
        "_id": "606fd90b0057c05954d29f50",
        "Title": "Why is this not working?",
        "Subtitle": "I really don't know",
        "slug": "why-is-this-not-working",
        "content": "**I DO NOT KNOW**",
        "published_at": "2021-04-09T04:33:17.304Z",
        "createdAt": "2021-04-09T04:33:15.232Z",
        "updatedAt": "2021-04-09T04:33:17.316Z",
        "__v": 0,
        "id": "606fd90b0057c05954d29f50"
    }

有沒有辦法在 API 響應中創建數據?

您將不得不覆蓋 controller 中的 findOne 方法,如下所示,無需進行清理:

async findOne(ctx) {
     const { id } = ctx.params;    
     const entity = await strapi.services.blogPost.findOne({ id });
     // return sanitizeEntity(entity, { model: strapi.models.blogPost});
     return entity;
}

參考: 后端定制

在 model.settings.json 中設置populateCreatorFields=true

這似乎對我有用

添加

"populateCreatorFields": true

添加可選

"publicAttributes": ["created_at", "updated_by"]

api/blog-post/models/blog-post.settings.json

...

"options": {
    "increments": true,
    "timestamps": true,
    "draftAndPublish": true,
    "populateCreatorFields": true
  }

...

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM