Параметры поля запроса Spring Data Mongo

Я играю с Spring Data Mongo Query и задаюсь вопросом о параметрах свойств поля. Вот пример, который я получил из документация:

public interface PersonRepository extends MongoRepository<Person, String>
  @Query(value="{ 'firstname' : ?0 }", fields="{ 'firstname' : 1, 'lastname' : 1}")
  List<Person> findByThePersonsFirstname(String firstname);
}

Вопрос в том, что означает 1 в { 'firstname' : 1, 'lastname' : 1}?


person Maksim    schedule 24.05.2013    source источник


Ответы (3)


1 означает, что в результирующий документ будут включены как «имя», так и «фамилия». Например, если у вас есть поле «зарплата», вы можете исключить его из результата, набрав 'salary': 0.

person Ivan Sharamet    schedule 24.05.2013
comment
Итак, в основном 1 = ИСТИНА, 0 = ЛОЖЬ? - person Maksim; 24.05.2013
comment
1 - включить поле в результат, 0 - исключить. Или, если вы не укажете значение «поля», будут включены все поля документа. - person Ivan Sharamet; 24.05.2013

Вы можете использовать MongoTemplate для запросов. Сначала вы объявляете query, а после этого вы можете объявлять criteria. Ниже приведен пример:

Criteria criteria = Criteria.where("kademeler.isemriId").is(isemriNo)
                .and("ogag").is(1);
        Query query = new Query(criteria);
        query.fields().exclude("salary"); //for excluding a field, this is "salary" for you
        List<AboneAriza> result = mongoTemplate.find(query, AboneAriza.class);
person AknKplnoglu    schedule 30.01.2015

Просто добавим, что идентификатор документа также возвращается по умолчанию, так что в деталях это будет означать, что имя, фамилия вместе с _id документа будут возвращены, и, как кто-то уже ответил, установка поля на ноль не вернет это определенное поле, когда документ возвращается.

person Samba    schedule 21.01.2016