google-code-export / morphia

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

$exists operator doesn't work on DBRef field #330

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
I use Morphia 1.00-SNAPSHOT with MongoDB 2.0, Java 1.6

When I try to do this query:
createQuery().field("product.id").equal(prodId)
.field("loc").near(loc.getLon(), loc.getLat(), radius)
.field("store").exists()
.retrievedFields(true, "store")

This exception occurs:

Error converting value(true) to reference.
com.google.code.morphia.mapping.MappingException: Could not get id for 
java.lang.Boolean
at com.google.code.morphia.mapping.Mapper.getKey(Mapper.java:432)
at com.google.code.morphia.mapping.Mapper.toMongoObject(Mapper.java:376)
at com.google.code.morphia.query.FieldCriteria.<init>(FieldCriteria.java:47)
at com.google.code.morphia.query.FieldEndImpl.addCrit(FieldEndImpl.java:35)
at com.google.code.morphia.query.FieldEndImpl.exists(FieldEndImpl.java:82)
at com.google.code.morphia.query.FieldEndImpl.exists(FieldEndImpl.java:11)

but the execution continues.

Original issue reported on code.google.com by Khaled.E...@exalt.ps on 12 Oct 2011 at 2:45