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 }
  }