我可以翻译成中文。这段内容是关于编程的,讲解了使用spring-data-mongodb-1.2.0.RELEASE时遇到的问题。其中有两个类A和B,B引用了A,并且使用了@DBRef注解。
类A:
我需要它被索引。
在将B实例首次插入MongoDB后,应创建索引。如下所示:
但是,如何创建此类索引呢?
另外,看起来DBRef字段(如可以通过mongo shell看到的那样)与MongoDB文档中定义的格式不匹配。
我是否漏掉了什么?
类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;
}
}
由于我查询了所有引用特定A的B实例:
B fromDB = mongoOperations.findOne(Query.query(Criteria.where("a.$id").is(a1.id)), B.class);
我需要它被索引。
在将B实例首次插入MongoDB后,应创建索引。如下所示:
![](https://istack.dev59.com/58AHR.webp)
另外,看起来DBRef字段(如可以通过mongo shell看到的那样)与MongoDB文档中定义的格式不匹配。
我是否漏掉了什么?
db.d.find({},{"a.$ref" : 1, "a.$id" : 1})
,您得到了什么? - Ori Dar