用于动态查询的 MongoDB 过滤器对象创建

问题描述 投票:0回答:0

我有一个搜索对象(多个查询参数组合在一起),我将它传递到请求正文中。此对象中的所有字段都是可选的。我想根据用户提供的字段值查询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
}

搜索中的字段是可选的,因此如果我们使用空值,查询将不会返回任何内容。

我已经尝试对每个字段进行空检查,然后将其添加到过滤器,但我想要一些更好的方法来做这件事而不需要进行多次空检查。

mongodb mongodb-query spring-data-mongodb
© www.soinside.com 2019 - 2024. All rights reserved.