对TypeOrm进行无效查询的严格模式

时间:2018-09-28 14:28:02

标签: typeorm

考虑这两个遵循相似的代码块:

  const measurementsToDelete = await measurementRepo.find({
    where: { noteId: note.id },
    select: ['id']
  });

  const measurementIdsToDelete = measurementsToDelete.map(x => x.id);

  if (measurementIdsToDelete.length > 0) {
    await measurementRepo.delete(measurementIdsToDelete);
  }

  const measurementsToDelete = await measurementRepo.find({
    where: { note: note.id },
    select: ['id']
  });

唯一的区别是在 where 子句中:

  • a){ note: note.id }(这是有效的,并且可以完成预期的工作)
  • b){ noteId: note.id }(这是无效的,并且会悄悄地跳过where子句)

大小写“ b”确实很危险,尤其是当您将其提供给删除操作时。

这是一个问题(或潜在的功能请求):

我们可以在typeORM上设置一种模式吗?如果在where子句中放置无效的关系,则会引发错误?

0 个答案:

没有答案