MongoDB возвращает пустой массив с помощью построителя запросов

У меня есть следующие документы в коллекции

{
    "_id" : ObjectId("53202b3644aec3ce32afc40b"),
    "_class" : "com.brand.domain.House",
    "bedrooms" : 2,
    "uid" : "URErlrjldVhW",
    "price" : NumberLong(200),
    "type" : "RENT",
    "address" : " test",
    "details" : " test",
    "rentType" : "perMonth"
}
{
    "_id" : ObjectId("53202b4444aec3ce32afc40c"),
    "_class" : "com.brand.domain.House",
    "bedrooms" : 2,
    "uid" : "SHvPruOJuivg",
    "price" : NumberLong(300),
    "type" : "RENT",
    "address" : " ",
    "details" : " ",
    "rentType" : "perMonth"
}

И со следующим запросом с использованием построителя запросов он возвращает пустой массив

Мои входные значения

type : RENT
maxPrice : 5000
minPrice : 100
bedRooms : 2

И запрос

Query query = new Query(
    where("type")
    .is(form.getType())
    .and("price")
    .lte(form.getMaxPrice())
    /*.gte(form.getMinPrice())*/
    .and("bedRooms")
    .is(form.getMinBedRooms()));

И следующие поля формы

private String type;
private long minPrice;
private long maxPrice;
private int minBedRooms;

Может ли кто-нибудь помочь мне, что не так с моим запросом. Заранее спасибо.


person Shahzeb Khan    schedule 12.03.2014    source источник


Ответы (2)


Разве «Query» не является классом данных sping? Итак:

    Query searchQuery = new Query(Criteria.where("type")
            .is("RENT")
            .and("price")
            .lte(5000)
            .and("bedrooms")
            .is(2));

    System.out.println( searchQuery );

Печать или регистрация объекта обычно помогают мне увидеть, что он делает то, что мне нужно.

person Neil Lunn    schedule 12.03.2014

У вас орфографическая ошибка.

Замените berdRooms на спальни.

Согласно спецификации JSON-RPC:

6.5. Чувствительность к регистру имен процедур и параметров

Соответствующие реализации ДОЛЖНЫ рассматривать имена процедур и параметров как чувствительные к регистру, чтобы имена bar и BAR рассматривались как два отдельных объекта.

person jfcorugedo    schedule 19.03.2015