Скажем, у меня есть два класса следующим образом:
public class Person {
private String personId;
private String name;
private Address address;
}
public class Order {
private String orderId;
@DbRef
private Person customer;
}
Что я хотел бы сделать, так это запустить запрос к коллекции Order, но вернуть только определенные поля связанного объекта Person, например:
public Order findByOrderId(String orderId) {
Query query = query(where("orderId").is(orderId));
query.fields().exclude("person.address");
return operations.findOne(query,Order.class);
}
Я получаю возвращаемые данные, но мой аргумент исключения, похоже, не применяется, если он находится через дочерний объект, связанный через @DbRef. Я могу исключить атрибуты объекта Order без проблем. Моя проблема заключается в том, что документ Person может стать довольно большим, и я хочу контролировать сетевой трафик при получении объектов Order (т.е. получать данные только по мере необходимости).
Я использую версию 1.0.0.M5 spring-data-mongodb.
Кто-нибудь знает, поддерживается ли такая операция?
Большое спасибо
Джо