群組資料結構中的 members 是一個單純數值陣列,例如 [1, 3, 4, 5],想查詢 ID 為 2 的使用者參與的所有群組。
Criteria.where("members").elemMatch(Criteria.where("").is(2)) // 語法不正確
對於陣列中的原始值,直接使用 Criteria.where("members").is(2) 即可,不需要 $elemMatch。
Query query = new Query(Criteria.where("members").is(2));
List<Group> groups = mongoTemplate.find(query, Group.class);
{ "members": 2 }