Я использую spring -data-mongodb-1.2.0.RELEASE. У меня есть два класса A и B, где B имеет ссылку на A и аннотируется с помощью @DBRef.
Класс A:
@Document(collection = "a")
public class A {
@Id
public String id;
/** The TicketGrantingTicket this is associated with. */
@Field
public String name;
public A(String id, String name) {
this.id = id;
this.name = name;
}
}
Класс B:
@Document(collection = "b")
public class B {
@Id
public String id;
@Field
public String name;
@DBRef
@Indexed
public A a;
public B(String id, String name, A a) {
super();
this.id = id;
this.name = name;
this.a = a;
}
}
Так как я запрашиваю для всех экземпляров B, которые ссылаются на определенный A:
B fromDB = mongoOperations.findOne(Query.query(Criteria.where("a.$id").is(a1.id)), B.class);
Мне нужно, чтобы он был проиндексирован.
После первой вставки экземпляра B в MongoDB должен быть создан индекс. Как видно ниже, это не так:
Кто-нибудь знает, как я могу создать такой индекс?
Кроме того, похоже, что файл DBRef (как видно из оболочки mongo) не соответствует формату, как он определен в Документация MongoDB.
Я что-то пропустил?