2013-02-25 7 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; 
} 

Проект не может быть реф к FREELANCER, как там может быть много фрилансеров, которые могут предложить цену проектов. Я хочу сделать следующее:

Найти фрилансера, разместившего заявку на проект с именем = «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», это имя поля, которое мы уже предоставляем. –

 Смежные вопросы

  • Нет связанных вопросов^_^