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

Spring-data-mongoがコンストラクターを使用してjava.util.Listをインスタンス化できません

    $unwindを実行するとき reviews フィールド、クエリのreturnjson構造が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. mongodbはGoでトランザクションを実行できず、常に取得されますマルチドキュメントトランザクションで名前空間を作成できません

    2. MongoDBストアドプロシージャと同等

    3. MongoDBでデータベースを作成する

    4. マングースが空の配列を返す