【发布时间】:2012-02-01 14:23:53
【问题描述】:
我在 Grails 中有一个类似的域
class User {
static mapWith = "mongo"
ObjectId id
String name
String address
Integer age
}
我正在 Grails 中构建搜索前端,以使用 MongoDb plugin 查询 MongoDb 数据库。可以对数据库中的任何字段进行搜索,并且不得在查询中使用用户未设置的任何字段。 IE。不得将任何字段与 null 进行比较。例如,将所有字段留空将返回所有用户,但搜索 name 仅返回与 name 匹配的文档。
最初我的查询很简单,我在控制器中使用了User.find(new User(params));,效果很好。现在我还需要能够使用大于和小于的间隔查询整数字段。我查看了withCriteria() 并根据用户设置的字段构建查询,但到目前为止我没有成功。
TL;DR 如果我不知道用户想要在查询中包含哪些字段,我该如何进行查询?
【问题讨论】:
标签: grails mongodb grails-orm