我有一个搜索对象(多个查询参数组合在一起),我将它传递到请求正文中。此对象中的所有字段都是可选的。我想根据用户提供的字段值查询MongoDB
我需要创建一个 BSON 对象并将其发送到 collections.find() 方法。
例如:
class Search{
name,
version,
author,
price,
dateOfRelease
}
Filters.and(
Book::name eq search.name,
Book::version eq search.version,
Book::author eq search.author,
Book::price eq search.price
}
搜索中的字段是可选的,因此如果我们使用空值,查询将不会返回任何内容。
我已经尝试对每个字段进行空检查,然后将其添加到过滤器,但我想要一些更好的方法来做这件事而不需要进行多次空检查。