如何使用spring mongoTemplate使用DbRef升级MongoDB文档

时间:2015-06-05 11:47:35

标签: java spring mongodb spring-data-mongodb

@Document
class Entity1 {
  @Id
  String id
  @DbRef(lazy=true)
  Entity2 entity2;
  String test;
}

mongoTemplate.upsert(
  new Query(Criteria.where("entity2.$id").is(entity2Id),
  new Update().set("test", "newValue"),
  Entity1.class);

我得到了Found $id field without a $ref before it, which is invalid

我的问题是:如何使用DbRef进行此插件。

1 个答案:

答案 0 :(得分:0)

将实体传递给查询,而不是id。创建Entity2并将其保存到DB,然后使用entity2实例并将代码更改为:where(“entity2”)。is(entity2)