фона:Java MongoTemplate исключить дочерние отношения в запросе
Я использую Весна-загрузки и MongoDB.
public class User {
@DBRef
private List<Contact> contacts;
...
public class Contact {
@DBRef
private List<Booking> bookings;
...
public Contact(){}
public Contact(Booking booking){
this.bookings = new ArrayList<Booking>();
this.bookings.add(booking);
...
}
@Override
public List<Contact> findAllContactsForUser(String id) {
Query query = new Query().addCriteria(Criteria
.where("_id").is(id));
query.fields().include("contacts");
User user = mongoTemplate.findOne(query, User.class);
return user.getContacts();
}
Выход из findAllContactsForUser:
[
{
"field":"value",
"bookings": [
"field":"value"
]
}
]
Проблема:
Результат я хочу:
[
{
"field":"value",
"bookings": null
}
]
Как исключить отношения бронирований из моего запроса в findAllContactsForUser ?
Я вижу новый ArrayList в конструкторе вашего контакта. Я не вижу никаких доказательств того, что это называется, но я подозреваю, что это так. Можете ли вы добавить код для пользователя тоже (setContacts, getContacts + constructors) + SetBookings контакта, getBookings – alexbt