sql >> Database teknologi >  >> NoSQL >> MongoDB

Forskellen mellem nu og en given dato

Prøv dette:

String jsonExpression = "{\"$subtract\":[new ISODate(),\"$ping_date\"]}";
AggregationOperation project = Aggregation.project().and(context -> context.getMappedObject(Document.parse(jsonExpression))).as("difference");
AggregationOperation match = Aggregation.match(Criteria.where("difference").gte("timeout"));

List<AggregationOperation> aggOps = new ArrayList<>();
aggOps.add(project);
aggOps.add(match);
Aggregation aggregation = Aggregation.newAggregation(aggOps);
return mongoTemplate.aggregate(aggregation, RegisteredApp.class, RegisteredApp.class).getMappedResults();

Grundlæggende kan du konvertere din javascript/JSON-forespørgsel til spring mongo-skabelonformular ved at bruge denne. Du kan også tjekke ArithmeticOperators.Subtract i org.springframework.data.mongodb.core.aggregation-pakken.

Jeg skrev denne kode lidt udførligt, du kan gøre det samme uden at oprette en liste og alle andre ting, som du havde det spørgsmål.




  1. MongoDB Positional Operator $

  2. Hvordan kan man se, om sidekiq er forbundet til redis-serveren?

  3. sql 'like' operationer på tal i mongodb

  4. Træning mislykkedes - AWS Machine Learning