sql >> Database >  >> NoSQL >> MongoDB

Voeg DBObject in MongoDB in met behulp van Spring Data

Je verwart lente-gegevens met normale mongo-persistentie met behulp van de java-driver.

Als u gegevens rechtstreeks naar mongoDB wilt bewaren met behulp van het java-stuurprogramma, dan zou u de BasicDBObject gebruiken zoals u hebt laten zien, behalve dat u niet de mongoTemaplate-klasse zou gebruiken om te blijven bestaan, maar eerder de MongoClient-klasse. Dus het zou er zo uitzien:

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

Maar als u een document probeert te behouden met spring-data, dan moet u een java-klasse maken om uw document te vertegenwoordigen (bijvoorbeeld:Persoon) en deze klasse annoteren met @Document(collection="person") en vervolgens de mongoTemplate gebruiken (wat een spring-data-specifieke klasse is om deze entiteit te behouden. Dit lijkt erg op het gebruik van JPA/hibernate.

Dus het zou er ongeveer zo uitzien

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

    Relevant getters and setters

}

En dan de volharding

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


  1. MongoDB groeperen per uur

  2. MongoDB-bereikquery op volledige ingesloten documentwaarde

  3. Mongoose -- Naam verzameling forceren

  4. Mongo Copy Collection en gebruikersmachtigingen