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);