spring-mongo-template中对内嵌集合对象 不定参数的查询

测试数据:

{
  "_id" : ObjectId("54c752ed5c01557fc2eba8f1"),
  "title" : "测试1,27",
  "products" : [{
      "name" : "石油",
      "classid" : "001",
      "status" : "1",
      "isorg" : "Y",
      "_class" : "jyd.info.article.model.Customization"
    }],
}

/* 2 */
{
  "_id" : ObjectId("54c755f34c2815a1467c5391"),
  "title" : "测试多产品",
  "products" : [{
      "name" : "nn油",
      "classid" : "001002",
      "status" : "1",
      "isorg" : "Y",
      "_class" : "jyd.info.article.model.Customization"
    }, {
      "name" : "xx油",
      "classid" : "001003",
      "status" : "1",
      "isorg" : "Y",
      "_class" : "jyd.info.article.model.Customization"
    }, {
      "name" : "ss油",
      "classid" : "001",
      "status" : "1",
      "isorg" : "Y",
      "_class" : "jyd.info.article.model.Customization"
    }]
}

/* 3 */
{
  "_id" : ObjectId("54c758664c28d74b28d8dc67"),
  "_class" : "jyd.info.article.model.Article",
  "title" : "test3",
  "products" : [{
      "name" : "eee",
      "classid" : "001005",
      "status" : "1",
      "isorg" : "Y",
      "_class" : "jyd.info.article.model.Customization"
    }]
}
需要的接口:

List<Article> selectByParas(String[] products,String columnId);

接口实现:

	@Override
	public List<Article> selectByParas(String[] products, String columnId) {
		Query query = new Query();
		Criteria c = new Criteria();
		Criteria[] c1 = new Criteria[products.length+1];
		for(int i=0;i<products.length;i++){
			c1[i] = Criteria.where("products.classid").is(products[i]);
		}
		c1[products.length] = Criteria.where("columnId").is(columnId);
		c.andOperator(c1);
		query.addCriteria(c);
		return mongoTemplate.find(query, Article.class);
	}



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值