MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Pourquoi les données de printemps mongo ne renvoient-elles pas le champ ayant le temps?

Le de et à les dates doivent être l'heure la plus basse et l'heure la plus haute pour cette date, respectivement ; cela couvrira toutes les heures de la journée.

Pour utiliser le même champ ("scheduledDepDateTime") avec les $et opérateur, vous devez utiliser les Criteria andOperator de pas le and (voir Requêtes ET avec plusieurs expressions spécifiant le même champ ).

Le code mis à jour :

Criteria criteria = new Criteria();
criteria = criteria.and("carrierCode").is("TK");

String from = "2020-02-05 00:00:00";
String to = "2020-02-05 23:59:59";
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd H:m:s");
Date toDate = dateFormat.parse(to);
Date fromDate = dateFormat.parse(from);

criteria = criteria.andOperator(where("scheduledDepDateTime").gte(fromDate), where("scheduledDepDateTime").lte(toDate)));

// Query qry = new Query(criteria);
// List<SomeClassName> result = mongoTemplate.find(qry, SomeClassName.class, "collection_name");