MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

$filter di dalam $project MongoDB Menggunakan Data Musim Semi

Saya berhasil memecahkan masalah saya dengan Spring boot Versi 1.4.1.RELEASE dan saya melakukan ini:

Aggregation aggregation = newAggregation(
            match(Criteria.where("devices.evaluationDate").is(date)),
            project().and(new AggregationExpression() {
                @Override
                public DBObject toDbObject(AggregationOperationContext aggregationOperationContext) {
                    DBObject filterExpression = new BasicDBObject();
                    filterExpression.put("input", "$devices");
                    filterExpression.put("as", "device");
                    filterExpression.put("cond", new BasicDBObject("$eq", Arrays.<Object> asList("$$device.evaluationDate", date)));
                    return new BasicDBObject("$filter", filterExpression);
                }
            }).as("devices")
    );

    AggregationResults<SpotMovimientos> list = mongoOperations.aggregate(aggregation,
            MyClass.class, MyClass.class);

Saya menguraikan berdasarkan ini:Apakah Spring Data MongoDb mendukung operator agregasi array $filter?

Proyek saya menggunakan Spring boot 1.4.0.RELEASE tetapi versi itu tidak memiliki AggregationExpression antarmuka PUBLIC, jadi saya baru saja memperbarui ke 1.4.1.RELEASE dan saya berhasil.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Pencarian mongodb data musim semi untuk tanggal ISO

  2. tar gzip mongo dump seperti MySQL

  3. bagaimana cara mongoimport data ke aplikasi meteor yang digunakan?

  4. Mengapa MongoDB memakan begitu banyak ruang?

  5. Mongo $in kinerja operator