sql >> Databáze >  >> NoSQL >> MongoDB

Dotaz na dokument a všechny jeho vnořené dokumenty, které odpovídají podmínce v mongodb (pomocí pružiny)

Budete muset použít šablonu MongoTemplate poskytovanou v závislosti na datech jarního mongo. V aktuální verzi neexistuje žádná podpora pro $filter. Využijte AggressionExpression. Níže uvedenou projekci zahrňte do projektu. Použijte 1.8.5 jarní mongo datovou verzi.

Aggregation aggregation = newAggregation(
        match(Criteria.where("_id").is(1)),
        project( "_id", "sensorName", "samplePeriod").and(new AggregationExpression() {
            @Override
            public DBObject toDbObject(AggregationOperationContext aggregationOperationContext) {
                DBObject filter = new BasicDBObject("input", "$data").append("as", "result").append("cond",
                        new BasicDBObject("$and", Arrays.<Object> asList(new BasicDBObject("$gte", Arrays.<Object> asList("$$result.timestamp", 1483537204000L)),
                                new BasicDBObject("$lte", Arrays.<Object> asList("$$result.timestamp", 1483537214000L)))));
                return new BasicDBObject("$filter", filter);
            }
        }).as("data")
);

List<BasicDBObject> dbObjects = monoTemplate.aggregate(aggregation, "collectionname", BasicDBObject.class).getMappedResults();


  1. Jak vymazat konzolu v MongoDB

  2. Nelze se připojit k serveru 127.0.0.1:27017

  3. Jak správně znovu použít připojení k Mongodb napříč aplikací a moduly NodeJs

  4. Uložte vnořený hash v redis prostřednictvím aplikace node.js