过滤用户电子邮件时cassandra中不区分大小写

tpgth1q7  于 2021-06-10  发布在  Cassandra
关注(0)|答案(1)|浏览(250)

大家好,我有一个查询,我从web服务中获取用户电子邮件,我想过滤用户电子邮件,无论是用户登录时提供的电子邮件(小写/大写):

user = User.objects.filter(email_id=v1_api.payload['email_id']).first()

这里的“v1\u api”是flask restplus中的蓝图,如果用户输入与数据库相同的电子邮件地址,但在我编写capslock@gmail.com“代替”capslock@gmail.com“我希望它不区分大小写,无论是小写还是大写的电子邮件,它都应始终将其视为小写。。。在其他数据库(如sqlalchemy)中,我们可以这样做:

from sqlalchemy import func
user = models.User.query.filter(func.lower(User.username) == func.lower("GaNyE")).first()

但在Cassandra我做不到请建议我怎么做…..谢谢

z9ju0rcb

z9ju0rcb1#

在cassandra-cassandra查询中不可能按您提供的精确值执行此操作,它无法在查询期间应用任何函数。因此,在将数据插入数据库时,需要对电子邮件进行“规范化”。

相关问题