mongoDB操作

1、比较两个字段值是否一样

db.getCollection('actionData').find({
    "$where": "this.TIME == this.SYSTEMTIME"
}).limit(10);

2、查询表中相同字段

db.actionData.aggregate([{'$match':{'TIME':{"$gte" : "2018-11-27 17:02:14" , "$lte" : "2018-11-29"}}},//筛选时间
                                 {'$group':{
                                    '_id':{'INDEX':'$INDEX','EVID':'$DEVID','TIME':'$TIME'},
                                    'uniqueIds':{'$addToSet':'$_id'},
                                    'count':{'$sum':1}
                                 }},
                            {'$match':{'count':{'$gt':1} //筛选条数大于1的数据
                            }}],
                           {allowDiskUse:true}
                        );

3、查询所有存在该字段的数据

db.getCollection('processData').find({"TEMPER_FB_SP_1":{"$exists":true}})

4、手动分片

 db.createCollection("plasticCycle")
 db.getCollection('plasticCycle').ensureIndex({"_id":1})
 sh.shardCollection( "collectData.plasticCycle", { "_id" : "hashed" } )

5、状态查询详解

 db.serverStatus()

6、in查询

List<Map<String, Object>> boxConfigureInfo = boxConfigueTwo.selectMaps(wrapper);
		List<String> idList = new ArrayList<String>();
		for (Map<String, Object> map : boxConfigureInfo) {
			idList.add(map.get("devID").toString());
		}
		querydoc.put("DEVID", new BasicDBObject("$in", idList));

7、模糊查询

doc.put("barcode", new BasicDBObject("$regex", barcode));//全模糊
        BasicDBList barcodes = new BasicDBList();
		  DBObject barcodeDoc  = new BasicDBObject();
		 barcodeDoc.put("barcode", new BasicDBObject("$regex", "^"+barcode));//右模糊
			 barcodes.add(barcodeDoc);
			 barcodeDoc  = new BasicDBObject();
			 barcodeDoc.put("barcode", new BasicDBObject("$regex", barcode+"$"));//左模糊

8、更新单个字段

DBObject dd=new BasicDBObject();
	dd.put("$set",new BasicDBObject("state",2));//更新一个字段
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值