首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将字符串数据从数据库查询到数组后缀

将字符串数据从数据库查询到数组后缀
EN

Stack Overflow用户
提问于 2022-07-10 06:18:01
回答 1查看 35关注 0票数 0

因此,我基本上试着使用Sequelize从数据库中获取字符串值到Array中:

代码语言:javascript
复制
{
    "status": "success",
    "data": [
        {
            "id": 15,
            "title": "The Godfather",
            "year": 1972,
            "director": "Francis Ford Coppola",
            "categoryFilm": "R",
                "Url": "https://m.media-amazon.com/images/M/MV5BMTU4MTgxOTQ0Nl5BMl5BanBnXkFtZTgwNDI0Mjk1NDM@._V1_UY100_CR19,0,100,100_AL_.jpg,https://m.media-amazon.com/images/M/MV5BMTczMTk5MjkwOF5BMl5BanBnXkFtZTgwMDI0Mjk1NDM@._V1_UY100_CR12,0,100,100_AL_.jpg,https://m.media-amazon.com/images/M/MV5BZTFiODA5NWEtM2FhNC00MWEzLTlkYjgtMWMwNzBhYzlkY2U3XkEyXkFqcGdeQXVyMDM2NDM2MQ@@._V1_UX100_CR0,0,100,100_AL_.jpg",
                "genre": [
                    {
                        "genre": "Crime,Drama"
                    }
                ]
            }
        ]
    }

由于我的代码如下所示,我尝试修改sequelize文字,但我无法解决如何将它从字符串转换为数组,并将其拆分为",“(逗号):

代码语言:javascript
复制
    const allFilm = async (req, res) => {
        await Film.findAll({
            attributes: [
                "id",
                "title",
                "year",
                "director",
                [sequelize.literal(`"category"."category"`), "categoryFilm"],
                [sequelize.literal(`"photo"."photoUrl"`), "Url"],
            ],
            subQuery: false,
            include: [
                {
                    model: Genre,
                    as: "genre",
                    attributes: ["genre"],
                },
                {
                    model: Category,
                    as: "category",
                    attributes: [],
                },
                {
                    model: Photo,
                    as: "photo",
                    attributes: [],
                },
            ],
        })
            .then((data) => {
                res.status(200).json({
                    status: "success",
                    data: data,
                });
            })
            .catch((err) => {
                res.status(400).json({
                    status: err,
                });
            });
    };

我想要的是,我的代码有一些错误,因为我没有发现错误,但我无法将其解析为数组:

代码语言:javascript
复制
"Url": ["https://m.media-amazon.com/images/M/MV5BMTU4MTgxOTQ0Nl5BMl5BanBnXkFtZTgwNDI0Mjk1NDM@._V1_UY100_CR19,0,100,100_AL_.jpg","https://m.media-amazon.com/images/M/MV5BMTczMTk5MjkwOF5BMl5BanBnXkFtZTgwMDI0Mjk1NDM@._V1_UY100_CR12,0,100,100_AL_.jpg","https://m.media-amazon.com/images/M/MV5BZTFiODA5NWEtM2FhNC00MWEzLTlkYjgtMWMwNzBhYzlkY2U3XkEyXkFqcGdeQXVyMDM2NDM2MQ@@._V1_UX100_CR0,0,100,100_AL_.jpg"],
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-10 18:58:52

我不能回答你的问题,但你也许可以试试:来自Load attributes from associated model in sequelize.js

代码语言:javascript
复制
await Film.findAll({
  attributes: [
    "id",
    "title",
    "year",
    "director",
    [sequelize.literal(`"category"."category"`), "categoryFilm"],
    [Sequelize.col('photo.photoUrl'), 'Url'] // here
  ],
  subQuery: false,
  raw:true, // here
  include: [
    {
      model: Genre,
      as: "genre",
      attributes: ["genre"],
    },
    {
      model: Category,
      as: "category",
      attributes: [],
    },
    {
      model: Photo,
      as: "photo",
      attributes: [],
      required: false, // here
     },
   ],
})
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72926510

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档