MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Insérer DBObject dans MongoDB à l'aide de Spring Data

Vous confondez les données de printemps avec la persistance mongo normale en utilisant le pilote Java.

Si vous souhaitez conserver les données dans mongoDB directement à l'aide du pilote Java, vous utiliserez le BasicDBObject comme vous l'avez montré, sauf que vous n'utiliserez pas la classe mongoTemaplate pour persister, mais plutôt la classe MongoClient. Cela ressemblerait donc à ceci :

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

Mais si vous essayez de conserver un document à l'aide de spring-data, vous devez créer une classe Java pour représenter votre document (par exemple:Person) et annoter cette classe avec @Document(collection="person") puis utiliser le mongoTemplate (qui est une classe spécifique aux données de printemps pour conserver cette entité. Ceci est très similaire à l'utilisation de JPA/hibernate.

Donc ça ressemblerait à quelque chose comme ça

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

    Relevant getters and setters

}

Et puis la persévérance

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