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

SpringDataを使用してDBObjectをMongoDBに挿入します

    Javaドライバーを使用して、Springデータを通常のmongo永続性と混同しています。

    Javaドライバーを使用してデータをmongoDBに直接永続化する場合は、永続化にmongoTemaplateクラスを使用せず、MongoClientクラスを使用することを除いて、これまでに示したようにBasicDBObjectを使用します。したがって、次のようになります。

    MongoClient mongoClient = new MongoClient( "localhost" , 27017 );
    DB db = mongoClient.getDB( "mydb" );
    BasicDBObject o = new BasicDBObject();
    o.set......
    coll.insert(o);
    

    ただし、spring-dataを使用してドキュメントを永続化しようとしている場合は、ドキュメントを表すJavaクラス(例:Person)を作成し、このクラスに@Document(collection ="person")で注釈を付けてから、mongoTemplateを使用する必要があります。 (これは、このエンティティを永続化するためのSpring-Data固有のクラスです。これは、JPA/hibernateを使用する場合と非常によく似ています。

    したがって、次のようになります

    @Document(collection="person")
    public class Person {
        private String fisrtName;
        ....
    
        Relevant getters and setters
    
    }
    

    そして永続性

    Person p = new Person();
    p.setFirstName("foo");
    p.setLastName("bar");
    ....
    mongoTemplate.save(p);
    


    1. mongodbグループでフィールドを維持する

    2. MongoDBの日付を照合して埋め込みドキュメントをクエリする

    3. mongodbの日付でグループ化

    4. .insertOneは関数ではありません