簡體   English   中英

如何使用Java Play中的MorphiaQuery從集合中獲取所有_id值並將其存儲在arraylist中

[英]How to get all _id values from a collection and store them in arraylist using MorphiaQuery in Java Play

我有以下函數應返回“代理”集合中的所有_id值:

public static List<Agency> findByAgencyIds(List<String> ids){
    MorphiaQuery q = Agency.q();
    System.out.println("ids: " + ids);
    q.field("_id").in(ids);    
    return q.asList();
}

以下是使用上一個功能的功能

public static BasicDBObject getQueryAgenciasMultiples(String agency) {
    List<String> agencyIds = new ArrayList<String>(Arrays.asList(agency.split("\\s*,\\s*")));
    List<String> finalList = Lists.newArrayList();
    for (String id : agencyIds) {
        finalList.add(id.trim());
    }
    List<Agency> agencyList = Agency.findByListIds(finalList);

    List<DBRef> dbrefs = new ArrayList();
    agencyList.forEach(a -> dbrefs.add(new DBRef("Agency", a.getId())));                    
    return new BasicDBObject("$in", dbrefs);
}

問題:

該查詢未從“代理”中檢索_id字段值,因為我不知道如何從MongoDB中檢索ObjectId值類型。

因此,我的問題是?如何從“代理商”集合中獲取所有_id字段值?

歡迎任何幫助。 在此先感謝您,最好的問候

如果您有一個Query ,則可以對其調用asKeyList()以獲取該查詢返回的每個實體的_id字段的Key實例的列表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM