gpt4 book ai didi

clojure - Datomic:不区分大小写的查询

转载 作者:行者123 更新时间:2023-12-03 23:31:40 26 4
gpt4 key购买 nike

我是 Datomic 的新手,我正在尝试了解如何进行不区分大小写的查询。

例如:

[:find (pull ?u [:user/email])
:where [?u :user/email "user1@example.net"]]

返回:

{:user/email "user1@example.net"}

我希望此查询为指定为“USER1@example.net”的电子邮件返回相同的值,但 Datomic 正在对电子邮件进行区分大小写的比较,如此处所示。

[:find (pull ?u [:user/email])
:where [?u :user/email "USER1@example.net"]]

返回:

Nothing

关于形成查询以便进行区分大小写比较的最佳方式的任何建议?

最佳答案

为了执行不区分大小写的查询,我使用 Clojure re-find 函数形成查询,对传递的电子邮件执行不区分大小写的正则表达式匹配,如下所示:

  [:find (pull ?u [:user/email])
:where
[?u :user/email ?email]
[(re-find #"(?i)USER1@example.net" ?email)]
] db)

现在返回:

   {:user/email "user1@example.net"}

关于clojure - Datomic:不区分大小写的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30876463/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com