我有一个表,其中有一个名为tokens的数组列

我可以通过NPM Sequelize查询它,没有任何问题,有时这个列可能在数组中有多达20k个元素,而我并不总是需要这些元素.我只需要其中的10个元素

在SQL中,这将是

select tokens[:10] from schema.table 

我如何使用Sequelize来实现这一点?

这就是我现在正在做的事情

const whereClause = {
        where: { active: true },
        attributes: {
          exclude: ['tokens'],
          include: ['tokens[:10]'],
        },
      };

table.findAll(whereClause);

这会产生以下错误

original: error: column "tokens[:10]" does not exist

它正在寻找一个名为"tokens[:10]"的列,而不是一个子集. 我做错了什么?

推荐答案

在Sequelize中 Select 属性时,可以使用文字.你可以试试这样的东西,

    const whereClause = {
        where: { active: true },
        attributes: [
           [Sequelize.literal(`tokens[:${sub-array-length}]`), 'tokens']
        ]
      };

    table.findAll(whereClause);

请注意,使用冒号表示子数组切片索引

Javascript相关问答推荐

materialized - activeIndex返回-1

微软Edge Select 间隙鼠标退出问题

从实时数据库(Firebase)上的子类别读取数据

传递一个大对象以在Express布局中呈现

如何在mongoose中链接两个模型?

我可以使用使用node.js创建的本地主机来存储我网站上提交的所有数据吗?没有SQL或任何数据库.只有HTML语言

使用POST请求时,Req.Body为空

如何在文本字段中输入变量?

基于props 类型的不同props ,根据来自接口的值扩展类型

400 bad request error posting through node-fetch

当我try 将值更改为True时,按钮不会锁定

是否可以在Photoshop CC中zoom 路径项?

如果没有页面重新加载Angular ,innerHTML属性绑定不会更新

是否可以将Select()和Sample()与Mongoose结合使用?

WebSocketException:远程方在未完成关闭握手的情况下关闭了WebSocket连接.&#三十九岁;

如何使用puppeteer操作所有选项

在范围数组中查找公共(包含)范围

在传单的图像覆盖中重新着色特定 colored颜色 的所有像素

Rails 7:在不使用导入映射的情况下导入Java脚本

如何在单击Search按钮时更新Reaction组件?