2013-02-25 119 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