Closed
Description
Youness opened DATAMONGO-1040 and commented
Unlike other methods, deleteAll repository queries don't use the collection name provided by MongoEntityMetadata. This prevents me to use multiple collection names for a same Entity.
In AbstractMongoQuery$AbstractMongoQuery :
private Object deleteAndConvertResult(Query query, MongoEntityMetadata<?> metadata) {
if (method.isCollectionQuery()) {
return operations.findAllAndRemove(query, metadata.getJavaType());
}
WriteResult writeResult = operations.remove(query, metadata.getJavaType(), metadata.getCollectionName());
return writeResult != null ? writeResult.getN() : 0L;
}
A simple change will fix that :
if (method.isCollectionQuery()) {
return operations.findAllAndRemove(query, metadata.getJavaType(), metadata.getCollectionName());
}
Thanks
Affects: 1.5.4 (Dijkstra SR4)
Referenced from: pull request #223
Backported to: 1.5.5 (Dijkstra SR5)