Я использую mongoDB + Java + SpringData. Можно ли получить текущую коллекцию без названия?
Спасибо!
Я использую mongoDB + Java + SpringData. Можно ли получить текущую коллекцию без названия?
Спасибо!
Это мое решение (Java + SpringData).
@Autowired
private MongoTemplate mongoTemplate;
DBCollection collection = mongoTemplate.getCollection(mongoTemplate.getCollectionName(MyDocument.class)));
Если вы хотите взаимодействовать с DBCollection
напрямую, вам лучше сделать это через интерфейс CollectionCallback<T>
и использовать его следующим образом:
mongoTemplate.execute(new CollectionCallback<Void>() {
public Void doInCollection(DBCollection collection) throws MongoException {
// Implement your code here
}
});
Использование обратного вызова имеет то преимущество, что вы получаете MongoException
, потенциально выбрасываемые из вашего собственного кода, преобразованного в иерархию Spring DataAccessException
.