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

Spring-data-mongo nemůže vytvořit instanci java.util.List pomocí konstruktoru

Když $unwind reviews pole, návratová struktura json dotazu neodpovídá vašemu Hotel třída už. Protože $unwind operace provádí reviews dílčí objekt namísto seznamu. Pokud svůj dotaz vyzkoušíte v robomongu nebo jiných nástrojích, uvidíte, že váš návratový objekt je takový

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

Měli byste tedy místo Hotel použít jinou třídu jako 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. Definování schématu Mongodb

  2. Ověření min. v Mongoose nefunguje

  3. Jak nainstalovat php-mongo na CentOS 5.3?

  4. Jak se připojit k instanci clusteru Docker Redis pomocí jedis pro Javu?