Printemps de Données MongoDB Date entre les deux Dates

je suis à l'aide de Données du Printemps pour MongoDB et a obtenu les classes suivantes

class A {
    List<B> b;
}

class B {
    Date startDate;
    Date endDate;
}

lorsque j'enregistre un objet d'Une il obtient persisté comme

{
    "_id" : "DQDVDE000VFP8E39",
    "b" : [
          {
              "startDate" : ISODate("2009-10-05T22:00:00Z"),
              "endDate" : ISODate("2009-10-29T23:00:00Z")
          },
          {
              "startDate" : ISODate("2009-11-01T23:00:00Z"),
              "endDate" : ISODate("2009-12-30T23:00:00Z")
          }
    ]
}

Maintenant, je veux interroger la base de données pour les documents correspondant à des entrées dans b dans les cas où une date est entre startDate et endDate.

Query query = new Query(Criteria.where("b").elemMatch(
    Criteria.where("startDate").gte(date)
    .and("endDate").lte(date)
);

Qui résultats dans la suite de mongo requête:

{
   "b": {
       "$elemMatch": { 
           "startDate" : { "$gte" : { "$date" : "2009-11-03T23:00:00.000Z"}}, 
           "endDate" : { "$lte" : { "$date" : "2009-11-03T23:00:00.000Z"}}
       }
   }
}

mais ne retourne pas les documents afférents. Quelqu'un sait ce que je fais mal? Je ne comprends pas...

Je vous remercie beaucoup d'avance!!!!

Ce qui est "margins" dans cette mongo requête? C'est que quelque chose de spécifique pour le pilote Java? Je ne vois pas ce que n'importe où dans vos données.
Oui, il ne correspond pas à la source de Données requête, qui est également incorrect. Vous devez être où l'interrogation("b"), pas là("un").
Je suis désolé les gars, c'est hier en fin d'. J'ai enlevé les deux copy n paste erreurs!
Le seul document que vous montrez n'est pas satisfaire à la requête, il y a d'autres qui le font? Si votre $gte et $lte termes inversés.
la version de printemps de données mongodb utilisez-vous?

OriginalL'auteur sics | 2012-09-06