Sequelize id (pk) 列无效值
Sequelize id (pk) column invalid value
我这里有一个where条件,我需要找到不等于工作人员ID字段(主键)的东西table,
但是由于某些原因,当程序 returns 它告诉我的承诺 'Invalid value { id: 1 }'
id 是数据库中列的名称,并且有一个条目与该值关联。
注释是从 sequalize 3 移植到 6 的旧代码。
exports.getAllStaffMembers = async (request, reply) => {
const attributes = ['id', 'accessLevel', 'emailAddress', 'firstName', 'lastName', 'phoneNumber', 'profilePictureHash'];
let where = {
[Op.ne]: [{ id: request.auth.credentials.id }]
}
// `"staffMember"."id" <> ${request.auth.credentials.id}`;
if (request.query.rank) {
where[Op.and] =
{
accessLevel: request.query.rank
}
// where = `${where} AND (1
// "staffMember"."accessLevel" = '${request.query.rank}'
// )`;
}
const staffMembers = await model.staffMember.findAndCountAll(_.assign({},
requestHelper.computePaginationObject(request.query.limit, request.query.page), {
attributes,
where: [where],
order
}));
我做错了什么/我如何使用主键 ID 列中的值?
你应该在上层写列名,在下层写操作符。像这样:
let where = {
id: { [Op.ne]: request.auth.credentials.id }
}
我这里有一个where条件,我需要找到不等于工作人员ID字段(主键)的东西table,
但是由于某些原因,当程序 returns 它告诉我的承诺 'Invalid value { id: 1 }'
id 是数据库中列的名称,并且有一个条目与该值关联。
注释是从 sequalize 3 移植到 6 的旧代码。
exports.getAllStaffMembers = async (request, reply) => {
const attributes = ['id', 'accessLevel', 'emailAddress', 'firstName', 'lastName', 'phoneNumber', 'profilePictureHash'];
let where = {
[Op.ne]: [{ id: request.auth.credentials.id }]
}
// `"staffMember"."id" <> ${request.auth.credentials.id}`;
if (request.query.rank) {
where[Op.and] =
{
accessLevel: request.query.rank
}
// where = `${where} AND (1
// "staffMember"."accessLevel" = '${request.query.rank}'
// )`;
}
const staffMembers = await model.staffMember.findAndCountAll(_.assign({},
requestHelper.computePaginationObject(request.query.limit, request.query.page), {
attributes,
where: [where],
order
}));
我做错了什么/我如何使用主键 ID 列中的值?
你应该在上层写列名,在下层写操作符。像这样:
let where = {
id: { [Op.ne]: request.auth.credentials.id }
}