MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Inserisci DBObject in MongoDB usando Spring Data

Stai confondendo i dati di primavera con la normale persistenza di mongo usando il driver java.

Se si desidera mantenere i dati su mongoDB direttamente utilizzando il driver java, utilizzare BasicDBObject come mostrato, tranne per il fatto che non si utilizza la classe mongoTemaplate per persistere, ma piuttosto la classe MongoClient. Quindi sarebbe simile a questo:

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

Ma se stai cercando di rendere persistente un documento usando spring-data, allora devi creare una classe java per rappresentare il tuo documento (es:Person) e annotare questa classe con @Document(collection="person") e quindi usare mongoTemplate (che è una classe specifica per i dati di primavera per rendere persistente questa entità. È molto simile all'utilizzo di JPA/hibernate.

Quindi sembrerebbe qualcosa del genere

@Document(collection="person")
public class Person {
    private String fisrtName;
    ....

    Relevant getters and setters

}

E poi la persistenza

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