即, Filters.search("eq", "name", "Smith") 与 Filters.eq("name", "smith") 做同样的事情
我正在编写一些代码,根据传入的参数搜索 MongoDb...
所以目前,我丑陋的代码看起来像
if (param.equals("eq")) Filters.eq("name", name);
if (param.equals("gt")) Filters.gt("name", name);
etc..
我希望有类似的东西
Filters.search("gt", "name", name) ;
Filters.search("eq", "name", name) ;
etc...
或者 MongoDb java 驱动程序中可能还有其他方法可以提供帮助。
我已经浏览了 com.mongodb.client.model.Filters 和 com.mongodb.client.model.* 但没有看到任何看起来有希望的东西。
我也没有看到任何有希望的东西。过滤器 API 背后的机制似乎已被声明为private
似乎有效地关闭了直接或通过子类调用它们的任何可能性。
如果您不顾一切地这样做,您可以 fork MongoDB Java 客户端代码并修改 API,以便您可以直接注入操作。但我认为你的“笨拙”方法可能更好。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句