postgresql 类型ORM和查找选项

eit6fx6z  于 2023-01-17  发布在  PostgreSQL
关注(0)|答案(3)|浏览(157)

我有一些产品有价格,我想查找价格小于10但大于5的产品。因此,SQL查询如下所示:

SELECT * FROM products WHERE products.price < 10 AND products.price > 5

是否可以不使用查询生成器来执行此操作?
在文档中找不到And运算符

yacmzcpb

yacmzcpb1#

更好的方法是在您的情况下使用Between运算符。Between(1,10)1〈x〈10

zvms9eto

zvms9eto2#

您只需要使用where运算符。

userRepository.find({ where: { firstName: "Timber", lastName: "Saw" } });

此代码执行以下查询:

SELECT * FROM "user" WHERE "firstName" = 'Timber' AND "lastName" = 'Saw'

如果你想使用OR,你需要使用一个条件数组:

userRepository.find({
    where: [
        { firstName: "Timber", lastName: "Saw" },
        { firstName: "Stan", lastName: "Lee" },
    ],
});

此代码将执行以下查询:

SELECT * FROM "user" WHERE ("firstName" = 'Timber' AND "lastName" = 'Saw') OR ("firstName" = 'Stan' AND "lastName" = 'Lee')

文档中的更多信息:https://github.com/typeorm/typeorm/blob/master/docs/find-options.md

mftmpeh8

mftmpeh83#

这些文档阐明了如何像SQL https://orkhan.gitbook.io/typeorm/docs/find-options那样使用find
注意,对于条件where和其他语句,您需要QueryBuilder。

相关问题