java-mongodb查询笔记

本文记录了MongoDB的模糊查询、聚合查询、条件筛选等操作,包括使用$regex进行正则匹配,$ne判断非空,$where根据字符串长度筛选,以及$id的特殊查询。同时,文中提到了在Java中实现这些查询时遇到的问题,如$not的使用以及在Dubbo RPC调用中的序列化问题。
摘要由CSDN通过智能技术生成
一.模糊查询
1.只能是字符串
2.代码如下:
String tableName = "bidding_notice";
String dbName = "spider";
BasicDBObject qryParam = new BasicDBObject();
qryParam.put(SpiderMapKeyConst.KEY_TASK_ID, "82");
BasicDBObject regex = new BasicDBObject();
regex.put("$regex", ".*?暂无数据.*?");
qryParam.put(SpiderMapKeyConst.KEY_CONTENT, regex);
long count = mongoService.count(dbName, tableName, qryParam);

关键在于正则
regex.put("$regex", ".*?暂无数据.*?"

二.聚合查询
格式
{ $group : { _id : < expression > , < field1 >: { < accumulator1 > : < expression1 > }, ... } }
例子
db.getCollection('bidding_notice').aggregate([ { "$match" :{ "siteId" :"346"}},{ "$group" : { "_id" : "$siteId" , "count" : { "$sum" : 1}}}])

三.$ne详解

This will return all documents with a key called "IMAGE URL", but they may still have a null value.
db . mycollection . find ({ "IMAGE URL" :{
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值