sql >> Base de Datos >  >> NoSQL >> MongoDB

Inserte DBObject en MongoDB usando Spring Data

Está confundiendo los datos de primavera con la persistencia mongo normal usando el controlador java.

Si desea conservar los datos en mongoDB directamente usando el controlador Java, entonces usaría BasicDBObject como ha mostrado, excepto que no usaría la clase mongoTemaplate para persistir, sino la clase MongoClient. Entonces se vería así:

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

Pero si está tratando de conservar un documento usando Spring-Data, entonces necesita crear una clase Java para representar su documento (por ejemplo:Persona) y anotar esta clase con @Document(colección="persona") y luego usar mongoTemplate (que es una clase específica de datos de primavera para conservar esta entidad. Esto es muy similar a usar JPA/hibernate.

Entonces se vería algo como esto

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

    Relevant getters and setters

}

Y luego la persistencia

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