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

Indsæt DBObject i MongoDB ved hjælp af Spring Data

Du forveksler spring-data med normal mongo-vedholdenhed ved at bruge java-driveren.

Hvis du ønsker at fortsætte data til mongoDB direkte ved hjælp af java-driveren, vil du bruge BasicDBO-objektet som du har vist, bortset fra at du ikke ville bruge mongoTemaplate-klassen til at fortsætte, men snarere MongoClient-klassen. Så det ville se sådan ud:

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

Men hvis du forsøger at bevare et dokument ved hjælp af spring-data, så skal du oprette en java-klasse til at repræsentere dit dokument (f.eks.:Person) og annotere denne klasse med @Document(collection="person") og derefter bruge mongoTemplate (som er en spring-data-specifik klasse til at bevare denne enhed. Dette minder meget om at bruge JPA/dvale.

Så det ville se nogenlunde sådan her ud

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

    Relevant getters and setters

}

Og så vedholdenheden

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


  1. Er det muligt at tilføje miljøvariabler til MongoDB-konfigurationsfilen?

  2. Node.js - vent på flere asynkrone opkald

  3. Mongo fejl på I control hotfix

  4. MongDB kan ikke finde Promise type definition