MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Spring-data-mongo не може да инстанцира java.util.List с помощта на Constructor

Когато $unwind reviews поле, върнатата json структура на заявката не съвпада с вашия Hotel клас вече. Защото $unwind операция прави reviews подобект вместо списък. Ако опитате заявката си в robomongo или някои други инструменти, можете да видите, че върнатият ви обект е такъв

{
  "_id" : ObjectId("59b519d72f9e340bcc830cb3"),
  "id" : "59b23c39c70ff63135f76b14",
  "name" : "Signature",
  "reviews" : {
    "id" : 1,
    "userName" : "Salman",
    "rating" : 8,
    "approved" : true
  }
}

Така че трябва да използвате друг клас вместо Hotel като UnwindedHotel

public class UnwindedHotel {

    private String name;
    private int pricePerNight;
    private Address address;
    private Review reviews;
}

UnwindOperation unwindOperation = Aggregation.unwind("reviews");
Aggregation aggregation = Aggregation.newAggregation(unwindOperation);
AggregationResults<UnwindedHotel> results=mongoOperations.aggregate(aggregation,"hotel", UnwindedHotel.class);


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Най-ефективният начин за промяна на стойността на поле на низ към неговия подниз

  2. Как да разрешите грешката на SQLdecode, когато мигрирате модели в django?

  3. Имате затруднения при използването на MongoDb C# Driver's Sample()

  4. Променете типа поле в Mongoid, без да губите данни

  5. Как да намеря брой въз основа на условие в MOngoDB Aggregation?