У меня есть серия тегов для объекта, и я бы хотел запросить объекты, содержащие все теги, переданные как массив. Я знаю, что операторы in и inList переводят на $ в operator в MongoDB, но $ in возвратит любой объект, содержащий хотя бы один из предоставленных тегов. Я хочу объекты, содержащие все предоставленные теги. Или сказал другой способ $ в методах findAll с t1 или t2 или t3 и т. Д. Я хочу findAll теги с t1 И t2 и t3 и т. Д. Mongodb, к счастью, поддерживает оператор $ all для этого.
Как я могу выполнить запрос из плагина GORM MongoDB от Grail, который будет использовать оператор $ all? Должен ли я использовать API низкого уровня? Если да, то каким образом я могу получить API нижнего уровня для возврата полностью заполненных объектов домена?
Или есть лучший вариант для запроса, чем использовать оператор $ all, который имеет лучшую производительность, и давайте останемся в рамках запросов GORM?
Я боюсь, что вам придется использовать API низкого уровня, я не вижу ничего в [MongoQuery] (https://github.com/SpringSource/grails-data-mapping/blob/master/grails-datastore -mongo/src/main/groovy/org/grails/datastore/mapping/mongo/query/MongoQuery.java), обращаясь к '$ all'. – dmahapatro
Есть ли лучшая документация, показывающая примеры использования API нижнего уровня и как отображать API нижнего уровня в объекты домена? Есть ли альтернативный запрос, который я мог бы использовать, чтобы получить тот же результат без использования оператора $ all? – chubbsondubs
Вы можете сослаться на [docs from Mongodb GORM plugin] (http://springsource.github.io/grails-data-mapping/mongo/manual/guide/4.%20Low-level%20API.html), если у вас нет пока не встретишь. – dmahapatro