2

我使用的是 strap 3.0.0.next-11,然后将我的 API 迁移到3.6.8版本。

在 3.6.8 中,对于具有关系的集合,我在弹出窗口中看到此错误:

模型配置获取期间发生错误。

在日志上我看到这个错误:

模型“文件”的路径“_id”处的值“http://54.179.156.135:1339/uploads/d26af51633f2451a934896bfc125ec90.jpg”转换为 ObjectId 失败

为什么会在 3.6.8 上发生这种情况?我一直在使用旧版本,没有任何问题,而使用这个新版本,我无法找到任何东西。

我正在使用以下:节点:14.17.6(LTS)npm:6.14.15strapi:3.6.8

我还附上了我的 package.json 的图像。

在此处输入图像描述

4

1 回答 1

0

所以我弄清楚了我的情况发生这种情况的原因。迁移到 3.6.8 后,模型中具有类型的字段:

"thumbnail": {
      "model": "file",
      "via": "related",
      "plugin": "upload"
 }

需要将值作为 ObjectId 存储在数据库中,作为对 upload_file 中条目的引用,该条目由strapi 内部维护。

之前,thumbnail会将值存储为字符串 url(图像的 url)。

例子 :

thumbnail : https://my_image_url_path/img.jpg

现在,thumbnail存储引用 ie ObjectId,它引用集合中的一个条目,该条目upload_file负责维护通过strapi upload api上传的所有图像。

例子 :

thumbnail : ObjectId("60f53bf69f811d268d8fedb1")
于 2021-09-17T04:37:18.387 回答