我使用聚合$查找來加入兩個集合。如何使用Morphia從兩個mondoDb加入集合中檢索特定字段?
"users"
{
"_id" : ObjectId("5984f8c454b1fd6926c324fd"),
"email" : "[email protected]",
"userId" : "uid",
"userName" : "admin"
}
"userinfo"
{
"_id" : ObjectId("59d82812b63f1c31cf906003"),
"userId" : "uid",
"phone" : "000000000"
}
我在我的「用戶」實體類中使用@Reference(idOnly = true)來引用第二個集合。我只想檢索特定的字段,如:「email」,「userId」,「phone」。
Query<Users> query = usersDAO.createQuery()
.retrievedFields(true,"email", "userId", "phone")
它給了我不承認提出的「手機」一個運行時錯誤,因爲它來自引用集「用戶信息」。我試圖指定「userinfo.phone」等沒有運氣。當「phone」字段從查詢中消除時,它工作正常。 什麼是實現這一目標的正確方法?
謝謝!
因爲我沒有明確指定MongoDB查找查詢(Morphia確實在底層創建了一些查詢),所以「uinfo」別名似乎無法通過Morphia使用,所以「uinfo.phone」引發了一個異常。 – deepconvnet
讓我來澄清我的問題。我需要使用Morphia加入兩個MondoDB集合並檢索一組特定字段。 – deepconvnet
與新的Morphia項目()函數是否有任何等價物?在Morphia 1.3.2中?在同一行獲得多個字段 – Milson