MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Inserir DBObject no MongoDB usando Spring Data


Você está confundindo spring-data com persistência mongo normal usando o driver java.

Se você deseja persistir os dados para o mongoDB diretamente usando o driver java, você usaria o BasicDBObject como mostrado, exceto que você não usaria a classe mongoTemplate para persistir, mas sim a classe MongoClient. Então ficaria assim:
MongoClient mongoClient = new MongoClient( "localhost" , 27017 );
DB db = mongoClient.getDB( "mydb" );
BasicDBObject o = new BasicDBObject();
o.set......
coll.insert(o);

Mas se você está tentando persistir um documento usando spring-data, então você precisa criar uma classe Java para representar seu documento (por exemplo:Person) e anotar essa classe com @Document(collection="person") e então usar o mongoTemplate (que é uma classe específica de dados de mola para persistir essa entidade. Isso é muito semelhante ao uso de JPA/hibernate.

Então ficaria algo assim
@Document(collection="person")
public class Person {
    private String fisrtName;
    ....

    Relevant getters and setters

}

E então a persistência
Person p = new Person();
p.setFirstName("foo");
p.setLastName("bar");
....
mongoTemplate.save(p);