google-code-export / morphia

Automatically exported from code.google.com/p/morphia
1 stars 0 forks source link

Incorrect query when retrieving a subset of fields #314

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
morphia-0.99.jar, mongo-java-driver-2.5.3.jar, mongodb-10gen 1.8.1) 

QueryImpl.java, line 135:

    public DBObject getFieldsObject() {
        if (fields == null || fields.length == 0) 
            return null;

        Map<String, Boolean> fieldsFilter = new HashMap<String, Boolean>();
        for(String field : this.fields)
            fieldsFilter.put(field, (includeFields));

        return new BasicDBObject(fieldsFilter);
    }

Line 141 is totally wrong. Instead of:
   fieldsFilter.put(field, (includeFields));
It should be:
   fieldsFilter.put(field, (includeFields ? 1 : 0));

Original issue reported on code.google.com by Pasko.Bo...@gmail.com on 18 Aug 2011 at 2:20

GoogleCodeExporter commented 9 years ago
Good catch.

Original comment by scotthernandez on 18 Aug 2011 at 2:36

GoogleCodeExporter commented 9 years ago
This issue was closed by revision r1762.

Original comment by scotthernandez on 18 Aug 2011 at 2:40