2016-09-15 151 views
0

我想查詢沒有使用Spring和mongo數據庫的嵌套引用的對象。 例如MongoDB + Spring:查詢沒有@DBRef的對象referenceObjects

@Document 
public class A { 
    @Id 
    private String id; 
    private String data; 
    @DBRef 
    private B b; 
} 

@Document 
public class B { 
    @Id 
    private String id; 
    private String data; 
} 

我想獲得一個沒有參考的對象。 查詢

public List<A> getAllA(String id) { 
    Query query = new Query(); 
    query.addCriteria(Criteria.all()); 
    List<A> aList = null; 
    aList = mongoOperations.findOne(query, A.class); 
    return aList; 
} 

返回,我不想讓嵌套的B對象:

[{ 
    "_id": "AId..", 
    "data": "Adata..", 
    "b":{ 
     "id":"BId..", 
     "data":"Bdata" 
    } 
}] 
+1

爲什麼你不能簡單地忽略'b'? – Actorclavilis

+0

當A和B的嵌套對象太多時會影響查詢性能。 –

回答

0

排除領域。

Query query = new Query(); 
query.addCriteria(<query criteria>); 
query.fields().exlude("b");