mongodb - spring data mongo使用@DBRef,怎麼查詢指定欄位的集合
高洛峰
高洛峰 2017-04-28 09:06:08
0
3
754

我需要查詢Archive表,取得Archive.title和User.name欄位的結果集(按需),請問可以怎麼操作?沒找到答案,請指點一二,謝謝!

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回覆(3)
伊谢尔伦

mongodb不支援join,你的dbref也不是懶加載模式,所以在查archive的時候會一併查出user。
可以自己用查詢語句如hibernate的hsql實作archive.title和archive.user但是無法單獨查詢aechive.user.name這樣的查詢。
mongodb為非關係型資料庫,鼓勵欄位冗餘,查詢冗餘,所以你說的這種情況確實不好實作

某草草
    @Query(value = "{'id':?0, 'disabled':false}", fields = "{'$id':1, 'success_ret_codes':1}")
    Stream findSuccessRetCodes(String streamId);

用上面的fields可以只差一個字段,其他字段都是null,
但是不能查聯表的數據,因為,Archive表裡面存的是聯表的ID和表名,所以這裡只能查出來,ID ,我測試了一下,直接查聯表的name報錯啦。 so,就這樣咯。

刘奇

我和你遇到同樣的問題,還沒找到辦法只取得部分DBRef物件裡的部分字段,同求解。
你的問題可以試試這篇文章裡的方法,我的問題比你複雜一點:
http://blog.csdn.net/congcong...

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!