我有一個MongoDB的集合與以下結構春數據MongoDB中找到查詢返回任何結果
{
"_id" : "...",
"_class" : "...",
...
"travelers" : [
{
"id": "12345",
"type": "XYZ"
},
{
"id": "67890",
"type": "ABC"
}],
...
}
使用Spring數據的多個文件,我可以去取有旅客類型XYZ文件:
Query query = new Query(Criteria.where("travelers.type").is("XYZ");
List<Something> something = mongoTemplate.find(query, Something.class, COLLECTION_NAME);
但是如果我切換查詢由旅行者號去取,我沒有得到任何結果:
Query query = new Query(Criteria.where("travelers.id").is("12345");
List<Something> something = mongoTemplate.find(query, Something.class, COLLECTION_NAME);
我啓用所有日誌和傳出的查詢是{"travelers.id" : "12345"}
看起來是正確的。直接在db上運行查詢{"travelers.id" : "12345"}
會返回正確的結果。
我在集合上嘗試過的其他查詢似乎工作正常。我已經嘗試了&這兩個都沒有索引,在這兩種情況下都沒有結果。我究竟做錯了什麼?
你可以請doublecheck該ID確實是一個字符串(因此需要引號),而不是一個整數? – Jinxcat
已檢查。 id是一個字符串。 – ashutosh
您確定COLLECTION_NAME與mongo中的收藏相匹配嗎? –