Может ли Oracle Coherence поддерживать сложные запросы, такие как MongoDb? - PullRequest
3 голосов
/ 09 февраля 2012

В Mongodb вы можете писать запросы, содержащие несколько атрибутов объектов и даже вложенных объектов.Поддерживает ли oracle coherence такие сложные запросы или это просто хранилище K / V?

Пример запроса Mongodb:

db.reports.find({profit:{$gt:99}, classification:'gas', name:/^USA/})

Возможно ли выполнить аналогичные запросы по согласованности?

1 Ответ

4 голосов
/ 10 февраля 2012

Да, вы можете запрашивать записи , относящиеся к одному кешу по нескольким атрибутам объекта (включая вложенные объекты).
Вы можете использовать Filter API или Coherence Query Language , чтобы сделать это.

Вышеуказанный запрос через Filters будет выглядеть примерно так:

reportsCache.entrySet(new AllFilter(new Filter[] {
                    new GreaterFilter("getProfit", 99),
                    new EqualsFilter("getClassification", "gas"),
                    new LikeFilter("getName", "USA%")
            }));

или используя CohQL:

select * from "reports" where profit > 99 and classification = "gas" and name like "USA%"
...