Dire que j'ai deux classes comme suit:Spring données Mongo - Exclure les champs dans la requête de l'objet référencé par @DbRef
public class Person {
private String personId;
private String name;
private Address address;
}
public class Order {
private String orderId;
@DbRef
private Person customer;
}
Ce que je voudrais faire est de lancer une requête sur la prise des commandes, mais seulement retour spécifique champs de l'objet personne liée, quelque chose comme:
public Order findByOrderId(String orderId) {
Query query = query(where("orderId").is(orderId));
query.fields().exclude("person.address");
return operations.findOne(query,Order.class);
}
je reçois les données renvoyées mais mon exclure l'argument ne semble pas être appliquée si elle est sur un objet enfant relié par @DbRef. Je peux exclure les attributs de l'objet Order sans problème. Le problème que j'ai est que le document de personne peut devenir assez grand et je veux avoir le contrôle sur le trafic de réseau en obtenant des objets de commande (c'est-à-dire seulement obtenir des données comme j'en ai besoin).
J'utilise la version 1.0.0.M5 du printemps-données MongoDB
Est-ce que quelqu'un sait si ce type d'opération est prise en charge?
Un grand merci
Joe