MongoDB: zapytanie @DBRef

Mam hierarchię klas zaprojektowaną dla powiadomień użytkowników sklepu:

@Document
public class Notification<T> {
   @Id
   private String id;
   @DBRef
   private T tag;
   ...
}

@Document
public class NotificationA extends Notification<WrappedA> {
}

@Document
public class NotificationB extends Notification<WrappedB> {
}

    ...

Jest to przydatne do zwracania tablic polimorficznych, co pozwala mi na przechowywanie dowolnego rodzaju danych w polu „tag”. Problem zaczyna się, gdy zawinięte obiekty zawierają pola @DBRef:

@Document
public class WrappedA {
   @Id
   private String id;
   @DBRef
   private JetAnotherClass referenced;
   ...
}

Zapytania dotyczące pól „tag” działają poprawnie:

db.NotificationA.find( {"tag.$id": ObjectId("507b9902...32a")} )

Ale muszę zapytać o pola JetAnotherClass (dwa poziomy pól @DBRef). Próbowałem z notacją kropkową, a także z podobiektami, ale zwraca null:

Notacja kropkowa:

db.NotificationA.findOne( {"tag.$referenced.$id": ObjectId("508a7701...29f")} )

Podobiekty:

db.NotificationA.findOne( {"tag.$referenced": { "_id": ObjectId("508a7701...29f") }} )

Jakaś pomoc? Z góry dziękuję!

questionAnswers(1)

yourAnswerToTheQuestion