记录一次MongoDB使用in查询时报错

场景
使用SpringBoot+MongoDB实现用户分页查询,需要使用in条件进行用户组权限过滤。
mongodb使用版本2.3.8,pom文件引用如下:

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>

配置文件中进行集群配置

spring:
   data:
    mongodb:
      uri: mongodb://127.0.0.1:27017,127.0.0.1:27018,127.0.0.1:27019/myproject
      #ip1:port1,ip2:port2,ip3:port3/数据库名称

1、定义用户实体类userEntity

//使用lombok,不写get、set方法
@Data
public class UserEntity implements Serializable {
   
    private static final long serialVersionUID = 1L;
    private String _id;
    private String user_id;
    private String user_name;
    private String group_id;
    private String group_name;
}

插入到mongodb的数据为:

{
   
    "_id" : ObjectId("60a21b1039706e8ca120d123"),
    "user_id" : "b810517ca081955f4af6b7e34ca12123",
    "user_name" : "test001"
    "group_id" : "1396706569090367490",
    "group_name" : "test001"
}

2、编写分页查询方法
使用MongoTemplate模板进行user查询

@Autowired
private MongoTemplate mongoTemplate;

@Override
public IPage findListPage(PageParams pageParams) {
   
	 //分页参数
     int totalCount = 0;
     Integer currPage = pageParams.getPage();// 当前页
     Integer pageSize = pageParams.getLimit();// 每页个数
     String userName = (String) pageParams.getRequestMap().get("userName");
     String groupName = (String) pageParams.getRequestMap().get("groupName");
     //获取用户组id集合
     ArrayList<String> idList = getUserGroupIdList();
     //组合查询条件
     Query query = new Query();
     Query q
  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值