MongoDB: запрос по @DBRef
У меня есть иерархия классов, предназначенная для уведомлений пользователей магазина:
@Document
public class Notification {
@Id
private String id;
@DBRef
private T tag;
...
}
@Document
public class NotificationA extends Notification {
}
@Document
public class NotificationB extends Notification {
}
...
Это полезно для возврата полиморфных массивов, что позволяет мне хранить любые данные втег" поле. Проблема начинается, когда обернутые объекты содержат поля @DBRef:
@Document
public class WrappedA {
@Id
private String id;
@DBRef
private JetAnotherClass referenced;
...
}
Запросы на полях "тег" работает отлично:
db.NotificationA.find( {"tag.$id": ObjectId("507b9902...32a")} )
Но мне нужно запросить поля JetAnotherClass (два уровня полей @DBRef). Я'мы пробовали с точечной нотацией, а также с подобъектами, но она возвращает ноль:
Точечная запись:
db.NotificationA.findOne( {"tag.$referenced.$id": ObjectId("508a7701...29f")} )
Подобъекты:
db.NotificationA.findOne( {"tag.$referenced": { "_id": ObjectId("508a7701...29f") }} )
Любая помощь? Заранее спасибо!