繁体   English   中英

将数据库中的字符串数据查询到数组 Sequelize

[英]Querying String data from database into array Sequelize

所以我基本上尝试使用 Sequelize 从数据库中获取字符串值到一个数组中:

{
    "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"
                    }
                ]
            }
        ]
    }

我的代码如下所示,我尝试对文字进行续集来更改它,但我无法解决如何将其从字符串转换为数组并用“,”(逗号)分割:

    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,
                });
            });
    };

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

"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"],

我无法回答您的问题,但您可以尝试:From Load attributes from associated model in sequelize.js

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
     },
   ],
})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM