Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Grails MongoDB索引嵌入字符串列表_Grails_Mongodb_Indexing_Gorm - Fatal编程技术网

Grails 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

我是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']).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也支持,这只是找到语法的问题。