在Spring中编写一个MongoDB正则表达式查询,其字段可以为空。
我想按姓名和电话查询文档:
Query(value = "{ {'name' : {$regex:?0,$options:'i'}},
{'phone' : {$regex:?1,$options:'i'}} }")
Document findByFullNameOrPhone(String fullName, String phone);
我通过查询传递的phone值是“.*”,试图匹配所有内容。
它可以工作,但问题是 phone 是一个可以为空的字段。如果文档没有phone值,它就不会包含在查询结果中。是否可以使用此查询来查找数据库中的所有文档,即使文档没有phone值?
1条答案
按热度按时间idv4meu81#
只需添加空检查。
Demo