嵌套简单数组使用样例:
mongo结构:
根据deviceId和role查询集合,数组里如果是int类型,还可以用大于或小于:参看网址
@Override
public List<UserDevice> findByRoleAndDeviceId(String role, String deviceId) {
Criteria criteria = new Criteria();
criteria.andOperator(Criteria.where("role").is(role),Criteria.where("deviceIds").elemMatch(Criteria.where("$eq").is(deviceId)));
Query query = new Query();
query.addCriteria(criteria);
return mongoTemplate.find(query,UserDevice.class,CollectionNameEnum.USERDEVICE.getValue());
}