Совокупное совпадение mongTemplate и отображение одного поля без идентификатора

#java #mongodb #spring-data-mongodb

#java #mongodb #spring-данные-mongodb

Вопрос:

Как мне запустить агрегат с совпадением и проекцией. Проекция включает одно поле и исключает идентификатор.

 db.collection("Collection").aggregate([
    {
        $match : {
            "someCriteriaFlag" : false
        }
    },
    {
        $project : {
            "field1" : 1,
            "_id" : 0
        }
    }
]);
  

В Java

 Aggregation aggregation = Aggregation.newAggregation(
        Aggregation.match(Criteria.where("someCriteriaFlag").is(false)), 
        Aggregation.project("field1"));

List<String> fields= mongoTemplate.aggregate(aggregation, "Collection", BasicDBObject.class)
        .getMappedResults();
  

Комментарии:

1. Видел вашу правку. Используйте andExcludes() для исключения _id .

2. @NeilLunn Ответьте, пожалуйста. Я приму.

Ответ №1:

Благодаря @NeilLunn.

 Aggregation aggregation = Aggregation.newAggregation(
    Aggregation.match(Criteria.where("someCriteriaFlag").is(false)), 
    Aggregation.project("field1").andExclude("_id"));

List<String> fields= mongoTemplate.aggregate(aggregation, "Collection", BasicDBObject.class)
    .getMappedResults();