Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 当dao将DBRef与Map一起使用时,使用MongoRepository构建查找和计数查询_Mongodb_Dbref_Mongorepository - Fatal编程技术网

Mongodb 当dao将DBRef与Map一起使用时,使用MongoRepository构建查找和计数查询

Mongodb 当dao将DBRef与Map一起使用时,使用MongoRepository构建查找和计数查询,mongodb,dbref,mongorepository,Mongodb,Dbref,Mongorepository,当我将DBRef与java.util.map结合使用时,“count”和“find”查询的名称是什么 在我的示例中,countByFoos方法总是返回0而不是1 我如何通过给定的食物找到和计算巴尔多 public class FooDao { @Id private String id; private String key; ... } public class BarDao { @Id private String id; @DBRef

当我将DBRef与java.util.map结合使用时,“count”和“find”查询的名称是什么

在我的示例中,countByFoos方法总是返回0而不是1

我如何通过给定的食物找到和计算巴尔多

public class FooDao {

   @Id
   private String id;

   private String key; 

   ...
}

public class BarDao {

   @Id
   private String id;

   @DBRef
   private Map<String, FooDao> foos;

   ...
}

public interface FooRepository extends MongoRepository<FooDao, String> {
   ...
}

public interface BarRepository extends MongoRepository<BarDao, String> {

   long countByFoos(FooDao fooDao);

   ...
}

public void doSomthing() {
   FooDao foo = new FooDao("fooId1", "key1");
   fooRepository.save(foo);

   BarDao bar = new BarDao("barId1");
   bar.addFoo(foo.getKey(), foo);
   barRepository.save(bar);

   int count = barRepository.countByFoos(foo);
}
公共类FooDao{
@身份证
私有字符串id;
私钥;
...
}
公共班巴道{
@身份证
私有字符串id;
@DBRef
私人地图;
...
}
公共接口FooRepository扩展了MongoRepository{
...
}
公共接口BarRepository扩展了MongorPository{
长countByFoos(foodaofoodao);
...
}
公共空间{
foodaofoo=新的FooDao(“fooId1”、“key1”);
foosepository.save(foo);
BarDao bar=新BarDao(“barId1”);
addFoo(foo.getKey(),foo);
barRepository.save(bar);
int count=barRepository.countByFoos(foo);
}