mongo java 嵌套模糊查询

mongo java 嵌套模糊查询
  • Criteria
例一
    Query query = new Query();
    Criteria criteria = new Criteria();
	Criteria[] criterias = new Criteria[2];
	if (StringUtils.isNotEmpty(search)) {
		criterias[0] = Criteria.where("dataIndex").regex(".*?" + search + ".*?");
		criterias[1] = Criteria.where("fileName").regex(".*?" + search + ".*?");
		criteria.orOperator(criterias);
		query.addCriteria(criteria);
	}
	query.skip(pageSize * (pageNum - 1));
	query.limit(pageSize);
	mongoTemplate.find(query, Document.class, collectionName);
	
例二
    Criteria criteria = new Criteria();
    Criteria[] criteriass = new Criteria[size];
	for (int i = 0; i < paichu.size(); i++) {
		criteriass[i] = Criteria.where("dataId").ne(map.getString("dataId"));
	}
	criteria.andOperator(criteriass2);
	query.addCriteria(criteria);
  • FindIterable
例一
    Document doc;
    List<Document> batchList = new ArrayList<>();
    for(String batchNum: batchNums.split(",")){
    	doc = new Document("uploadId",new Document("$regex",".*?"+batchNum));
    	batchList.add(doc);
    }
    Document query = new Document();
    query.put("$or",batchList);
    List<Document> dataList = mongoDao.findList(collectionName,query);
    
例二(简单好多)
    query.put("uploadId",new Document("$nin"))
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
public class mongoDao{
    public List<Document> findList(String collectionName, Document query) {
		List<Document> list = new ArrayList<>();
		FindIterable<Document> documentIter = getDBCollection(collectionName).find(query);
		for (Document document : documentIter) {
			list.add(document);
		}
		if ("[null]".equals(list)) {
			return null;
		}
		return list;
	}
}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值