Grails MongoDB索引嵌入字符串列表
我是MongoDb的新手,我有以下问题:Grails MongoDB索引嵌入字符串列表,grails,mongodb,indexing,gorm,Grails,Mongodb,Indexing,Gorm,我是MongoDb的新手,我有以下问题: class Venue { String name List<String> tags static mapWith = "mongo" static mapping = { tags index:true } new Venue(name: 'Test1', tags:['abc', 'def']).save() new Venue(name: 'Test2', tags:['abc', 'ghi
class Venue {
String name
List<String> tags
static mapWith = "mongo"
static mapping = {
tags index:true
}
new Venue(name: 'Test1', tags:['abc', 'def']).save()
new Venue(name: 'Test2', tags:['abc', 'ghi']).save()
不幸的是,查询不起作用。有更好的方法吗
现在我知道了如何获得带有特定标签的场馆:
def VICENTES=场馆。带标准{
eq'标签','定义'
}
如何发现是否将使用索引?以“查找”开头,而不是“获取”
所以你可以这样写:
def venues = Venue.findAllByTag("def");
以“查找”开始,而不是“获取”
所以你可以这样写:
def venues = Venue.findAllByTag("def");
如果使用getByTags(复数)进行查询,会发生什么情况?您是否通过从shell查询数据来确认数据实际上在Mongo中?我得到以下异常:groovy.lang.MissingMethodException:没有方法签名:com.foo.Venue.getByTag()适用于参数类型:(java.util.ArrayList)值:[[def]]可能的解决方案:getTags(),setTags(java.util.List)消息:groovy.lang.MissingMethodException:没有方法签名:com.foo.Venue.getByTag()适用于参数类型:(java.util.ArrayList)值:[[def]]可能的解决方案:getTags(),setTags(java.util.List)。我认为使用MongoDB是一个很大的优势,如果我可以索引标记,并且不必创建域Obj。收集标签。我真的不知道戈姆,但我猜你读过这个文档了吗?MongoDB肯定支持您正在尝试做的事情,我假设GORM也支持,这只是查找语法的问题。如果使用getByTags(复数)进行查询,会发生什么情况?您是否通过从shell查询数据来确认数据实际上在Mongo中?我得到以下异常:groovy.lang.MissingMethodException:没有方法签名:com.foo.Venue.getByTag()适用于参数类型:(java.util.ArrayList)值:[[def]]可能的解决方案:getTags(),setTags(java.util.List)消息:groovy.lang.MissingMethodException:没有方法签名:com.foo.Venue.getByTag()适用于参数类型:(java.util.ArrayList)值:[[def]]可能的解决方案:getTags(),setTags(java.util.List)。我认为使用MongoDB是一个很大的优势,如果我可以索引标记,并且不必创建域Obj。收集标签。我真的不知道戈姆,但我猜你读过这个文档了吗?MongoDB肯定支持您正在尝试做的事情,我假设GORM也支持,这只是找到语法的问题。