2016-10-11 3 views
1

Я пытаюсь извлечь несколько типов документов из базы данных Mongo в одном запросе. Если я использую метод find, мне требуется указать тип класса и, следовательно, ограничивать меня только одним типом документа. Например, если у меня есть коллекция, содержащая MongoDocumentA и MongoDocumentB, myList получит объекты MongoDocumentA, а любые другие документы будут нулями. Во всяком случае, вокруг?Запросить несколько типов документов Spring Mongo

Query query = new Query(Criteria.where("cir_group_status").ne(3).andOperator(Criteria.where("time").gte(startTime),Criteria.where("time").lt (stopTime))); 
List myList = mongoOperation.find(query, MongoDocumentA.class); 

Очень ценный!

ответ

0

Я не думаю, что это возможно в MongoDB, не говоря уже о Монгоне весны. Если бы это было весной, я бы сказал, что он просто выполнит два запроса.

Посмотрите на this для возможных обходных решений. Это не совсем такая же проблема, как то, что вы пытаетесь сделать, но я думаю, что обходные пути будут одинаковыми.

+0

Как это ограничивается в MongoDB? Если я найду в JavaScript, я получаю результат по всем типам документов. – HotPancake

+0

Можете ли вы привести пример того, что вы описываете? – Adam