我尝试使用spring数据mongodb进行全文搜索,但我遇到了问题。我有3个与@DBRef有关的文件:
@Data
@Document
@NoArgsConstructor
public class Order {
@DBRef
private Client client;
@DBRef
private Company company;
private long time;
@TextIndexed
private String type;
...
}
@Data
@Document
@NoArgsConstructor
public class Client {
@TextIndexed
private String name;
@TextIndexed
private String lastName;
...
}
@Data
@Document
@NoArgsConstructor
public class Company {
@TextIndexed
private String name;
private String type;
...
}
所以我有OrderRepository,我想在其中实现查询条件,但它不能按我的意愿工作。我的意思是我在OrderRepository中进行查询,它只检查所有@TextIndexed只在哪个顺序。我希望它不仅搜索订单,还搜索相关文档。如果简而言之,我想从OrderRepository中仅搜索订单和相关文档。有可能吗?默认情况下@DBRef不允许它,我不想为每个文档搜索查询创建。例如,我有一个订单,其中客户名称是詹姆斯。当我仅通过名称“James”进行查询时,它应该搜索客户名称为James的所有订单。怎么实现呢? Thnks
答案 0 :(得分:1)
MongoDB对DBREF的使用有很多限制,更好的方法是使用手动引用,所以如果你使用的是Spring Data MongoDB,请看看RelMongo框架