2013-02-25 94 views
1

集合我有2个实体如下:查询与DBREF

@Document 
public class Freelancer { 
@Id 
String id; 
String name; 
@DbRef 
List<Project> bidProjects; 
} 

@Document 
public class Project { 
@Id 
String id; 
String name; 
} 

项目不能有裁判给自由职业者,因为可能有很多自由职业者谁可以申办项目。我想要做以下事情:

寻找已经对名称=“XYZ”的项目投标的自由职业者。

应该是什么这个查询(基于JSON查询),我尝试以下(其他的组合,但没有任何工程):

@Query("{ 'completedProject': {'$ref': 'project', 'name': ?0 } }") 
@Query("{ 'completedProjects': {'$ref': 'project', 'name': ?0 } }") 
@Query("{ 'completedProject': [{'$ref': 'project', 'name': ?0 }] }") 

回答

1

{ 'fieldName': {'$ref': 'collectionName', '$field': { '$ofield' : ?0 } } }

所以这将是

@Query("{ 'bidProjects': {'$ref': 'project', '$name': { '$oname' : ?0 } } }")

+0

我试过了,它从来没有为我工作。 “$ ofield”代表什么,是该字段的名称,我们已经提供了它。 – 2013-06-14 09:12:53