Добавьте дополнительную пару ключ-значение в «проект» в совокупной функциональности MongoDB, используя шаблон spring mongo

Aggregation agg = newAggregation(
                    match(criteria),
                    group("username").count().as("userCount"),
                    project("userCount").and("_id").as("user")
            );

   AggregationResults<MyTarget> dataObjects = mongoTemplate
            .aggregate(agg, <collectionName>, MyTarget.class);

В приведенном выше примере у меня есть еще одно поле — «extraField» — в классе MyTarget, которому можно присвоить одно из нескольких предопределенных значений (скажем, «abc» и «xyz»). Я знаю это значение до того, как попал в MongoDB.

Как я могу добавить эту дополнительную пару "ключ-значение" ["extraField" : "abc"] в проекцию выше.


person Harish    schedule 21.06.2017    source источник


Ответы (1)


Используйте $literal.

 project("userCount").and("_id").as("user").and("abc").asLiteral().as("extraField")
person s7vr    schedule 21.06.2017
comment
можете ли вы взглянуть на это - stackoverflow.com/questions/45077570/ - person Harish; 13.07.2017