首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Spring MongoDB 查詢陣列欄位:直接使用 Criteria.is 而非 elemMatch

     編輯:程式設計綜合問答

問題描述

群組資料結構中的 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);

Shell 對應語法

{ "members": 2 }
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved