Sie verwechseln Federdaten mit normaler Mongo-Persistenz mit dem Java-Treiber.
Wenn Sie Daten mithilfe des Java-Treibers direkt in MongoDB speichern möchten, verwenden Sie das BasicDBObject, wie Sie es gezeigt haben, außer dass Sie nicht die mongoTemaplate-Klasse zum Speichern verwenden, sondern die MongoClient-Klasse. Das würde also so aussehen:
MongoClient mongoClient = new MongoClient( "localhost" , 27017 );
DB db = mongoClient.getDB( "mydb" );
BasicDBObject o = new BasicDBObject();
o.set......
coll.insert(o);
Wenn Sie jedoch versuchen, ein Dokument mit Spring-Data zu speichern, müssen Sie eine Java-Klasse erstellen, um Ihr Dokument darzustellen (z. B.:Person), diese Klasse mit @Document(collection="person") kommentieren und dann das mongoTemplate verwenden (Dies ist eine spring-data-spezifische Klasse, um diese Entität beizubehalten. Dies ist der Verwendung von JPA/hibernate sehr ähnlich.
Es würde also in etwa so aussehen
@Document(collection="person")
public class Person {
private String fisrtName;
....
Relevant getters and setters
}
Und dann die Beharrlichkeit
Person p = new Person();
p.setFirstName("foo");
p.setLastName("bar");
....
mongoTemplate.save(p);