我有以下查詢/投影,在從我的數據集檢索數據的工作原理: db.library.find({ party_id: 'TEST_PARTY_ID', contract_id : 'TEST_CONTRACT_ID' }, { library_list: { $elemMatch: { book_code: 'TST_BOOK_CODE' } } })
換句話說:找到party_id和contract_id的所有文件,並返回library_list數組中的library_list元素,其中書籍代碼與「TST_BOOK_CODE」匹配。春天JPA:查詢註釋字段中選擇不工作的Mongo的查詢
我想這個查詢添加到我的春節,倉庫,所以我創建了以下內容:
@Query(value="{party_id: ?0, contract_id : ?1}", fields="{'library_list': {$elemMatch: {'book_code': ?2}}}")
Library findLibraryByPartyAndContractAndBookCode(String partyId, String contractId, String bookCode);
這是行不通的。我找回一個文檔,其中除文檔ID之外的所有內容都爲空。但是,如果我刪除「fields」屬性,則會返回整個文檔。它看起來像「值」選擇器是好的,但「字段」選擇器有問題。 JPA不支持$ elemMatch語法嗎?根據javadoc:"Both attributes allow using a placeholder notation of ?0, ?1 and so on",所以我不認爲這應該是問題。
這對我的作品。你可以將'LibraryList'和'Library' pojo添加到帖子中嗎? – Veeram