sql >> データベース >  >> NoSQL >> MongoDB

mongodbの条件に一致するドキュメントとそのすべてのサブドキュメントをクエリします(springを使用)

    春のmongoデータ依存関係で提供されるMongoTemplateを利用する必要があります。現在のリリースバージョンでは、$filterをすぐにサポートすることはできません。 AggressionExpressionを利用してください。以下の予測をプロジェクトに含めます。 1.8.5SpringMongoデータバージョンを使用します。

    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. MongoDB BulkWrite()

    2. MongoDBで1つのデータベースから別のデータベースにコレクションをコピーする方法

    3. Node.js Mongooseを使用してドキュメントを削除するにはどうすればよいですか?

    4. MongoDBをリモートで管理するためのヒント