我想对Sequelize表声明应用限制。这实际上会通过禁止向表中添加更多行来将表的行总数限制为1。我如何在表模型定义中实现这一点?
h6my8fg21#
我认为使用可能只有一行数据库表不是一个好主意。但技术上的解决方案可能是使用默认主键(例如id: 1)。这个主键不是自动递增的,而是一个静态的默认值,比如整数1。因此,除了第一行之外,您不能添加任何其他行。因为主键是唯一的,它的值总是等于1。所以你只能更新或读取它的值,如果这就是你试图实现的原因。但是,这听起来像是一件反SQL的事情。
id: 1
1
b09cbbtk2#
您可以在sequelize中使用'limit'选项:
findAll({ limit: 2, where: { YOUR QUERY } )}
3xiyfsfu3#
如果要限制记录,为什么不在控制器/服务/业务逻辑部分这样做呢?在创建记录之前,您可以findAll或count当前用户拥有的记录/行,并应用您的规则甚至,你可以添加一个beforeCreate挂钩,如果适用...
findAll
count
beforeCreate
3条答案
按热度按时间h6my8fg21#
我认为使用可能只有一行数据库表不是一个好主意。
但技术上的解决方案可能是使用默认主键(例如
id: 1
)。这个主键不是自动递增的,而是一个静态的默认值,比如整数1
。因此,除了第一行之外,您不能添加任何其他行。因为主键是唯一的,它的值总是等于1
。所以你只能更新或读取它的值,如果这就是你试图实现的原因。但是,这听起来像是一件反SQL的事情。
b09cbbtk2#
您可以在sequelize中使用'limit'选项:
3xiyfsfu3#
如果要限制记录,为什么不在控制器/服务/业务逻辑部分这样做呢?
在创建记录之前,您可以
findAll
或count
当前用户拥有的记录/行,并应用您的规则甚至,你可以添加一个
beforeCreate
挂钩,如果适用...