Grails MongoDB index Список встроенных строк - PullRequest
1 голос
/ 27 декабря 2011

Я новичок в 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 venues = Venue.getByTag(['def']);

К сожалению, запрос не работает. Есть ли лучший подход?

Теперь я знаю, как получить места с определенным тегом: def venues = Venue.withCriteria { eq 'tags', 'def' }

Как узнать, будет ли использоваться индекс?

1 Ответ

1 голос
/ 02 января 2012

Динамические искатели начинаются с "найти", а не с "получить".

Так что вы должны написать что-то вроде:

def venues = Venue.findAllByTag("def");
...