女人和男人做床上爱网站,重庆优化官网服务,定制开发app价格,免费域名qq空间申请Mongodb的数据库简介、docker部署、操作语句以及java应用
本文主要介绍了mongodb的基础概念和特点#xff0c;以及基于docker的mongodb部署方法#xff0c;最后介绍了mongodb的常用数据库操作语句#xff08;增删改查等#xff09;以及java下的常用语句。
一、基础概念
… Mongodb的数据库简介、docker部署、操作语句以及java应用
本文主要介绍了mongodb的基础概念和特点以及基于docker的mongodb部署方法最后介绍了mongodb的常用数据库操作语句增删改查等以及java下的常用语句。
一、基础概念
1、Mongodb简要介绍
MongoDB是一个基于分布式文件存储的数据库。MongoDB是一个介于关系数据库和非关系数据库之间的产品是非关系数据库当中功能最丰富最像关系数据库的。
2、基础概念
1文档field记录
“类似json的bson格式同一张表的数据结构可以不固定MongoDB中的记录是一个文档它是由字段和值对组成的数据结构。
2集合Collection表
集合就是一组文档类似于关系数据库中的表。
可以使用“.”按照命名空间将集合划分为子集合。
3数据库DataBase 中多个文档组成集合多个集合组成数据库。在磁盘上不同的数据库存放在不同的文件中.
MongoDB 中存在以下系统数据库。
Admin 数据库、Local 数据库、Config 数据库。 3、与关系型数据库类比
DataBase Document field(key/value) 二、特性和应用场景
1、特性
1大数据量
2高并发(虚拟内存)
3数据结构可扩展性:(数据结构不固定)表结构灵活可变字段类型可以随时修改。
4应用不需要事务以及复杂的 join 支持,价值较低的数据对事务性要求不高
2、应用场景
游戏场景使用MongoDB存储游戏用户信息用户的装备、积分等直接以内嵌文档的形式存储方便查询、更新。
物流场景使用MongoDB存储订单信息订单状态在运送过程中会不断更新以MongoDB内嵌数组的形式来存储一次查询就能将订单所有的变更读取出来。
社交场景使用MongoDB存储存储用户信息以及用户发表的朋友圈信息通过地理位置索引实现附近的人、地点等功能。
物联网场景使用MongoDB存储所有接入的智能设备信息以及设备汇报的日志信息并对这些信息进行多维度的分析。
视频直播使用MongoDB存储用户信息、礼物信息等。 三、docker下的mongodb部署
1、部署mongodb
docker search mongodocker pull mongo:latestcd /datamkdir mongo_local_datadocker run --name my_mongo -v /data/mongo_local_data:/data/db --rm -d -p 27017:27017 mongodocker ps
2、进入mongodb数据库
docker exec -it my_mongo /bin/bashcd /bin
可见有mongosh
mongosh admin
附:
docker exec -it 容器id mongo admin 报错如下解决办法
[rootiZ2zehrk49wgv86b2hqvncZ ~]# docker exec -it 67c3f3893ce8 mongo admin
OCI runtime exec failed: exec failed: unable to start container process: exec: mongo: executable file not found in $PATH: unknown
按如上先进入容器再mongosh admin
四、Mongodb的主要操作
1、创建账户
db.createUser({ user:root,pwd:123456,roles:[ { role:userAdminAnyDatabase, db: admin},readWriteAnyDatabase]});
2、连接数据库
db.auth(root, 123456)
3、创建数据库
use my_mongodb
4、创建集合
db.createCollection(shucai_record)
5、插入数据
db.集合名.insert(JSON数据) mongodb会给每条数据增加一个全球唯一的_id键
db.getCollection(shucai_record).insert( { _id: ObjectId(638e8e739320275867030e4c), readTimestamp: NumberLong(1670286944653), address: DB14.2, value: NumberInt(0), DeviceId: NumberInt(1368)
} );
db.getCollection(shucai_record).insert( { _id: ObjectId(638e8e739320275867030e4d), readTimestamp: NumberLong(1670286944653), address: DB14.4, value: NumberInt(0), DeviceId: NumberInt(1368)
} );
db.getCollection(shucai_record).insert( { _id: ObjectId(638e8e739320275867030e4e), readTimestamp: NumberLong(1670286944653), address: DB14.6, value: NumberInt(0), DeviceId: NumberInt(1368)
} );
db.getCollection(shucai_record).insert( { _id: ObjectId(638e8e739320275867030e4f), readTimestamp: NumberLong(1670286944653), address: DB14.8, value: NumberInt(0), DeviceId: NumberInt(1368)
} );
db.getCollection(shucai_record).insert( { _id: ObjectId(638e8e739320275867030e50), readTimestamp: NumberLong(1670286944653), address: DB14.10, value: NumberInt(0), DeviceId: NumberInt(1368)
} ); 6、查找数据
db.集合名.find({键:{运算符值}})
Eg: 查找设备点位地址为DB14.10和DB14.8的数据
db.getCollection(shucai_record).find({address:{$in:[DB14.10,DB14.8]}})
7、修改数据
db.集合名.update(条件,新数据[是否新增,是否修改多条,])
inc递增rename重命名列set修改列值unset删除列
Eg:
1设备点位地址为DB14.8的数据,value值加上4
db.shucai_record.update({address:{$in:[DB14.8]}},{$inc:{value:4}})db.getCollection(shucai_record).find({address:{$in:[DB14.10,DB14.8]}})
2设备点位地址为DB14.8的数据,value值改为30第一个true: 如果没找到DB14.8的数据则新增value值为30第二个true: 如果找到多条多条进行更新value值改为30
db.shucai_record.update({address:{$in:[DB14.10]}},{$set:{value:30}},true,true) db.getCollection(shucai_record).find({address:{$in:[DB14.10,DB14.8]}}) 8、删除数据
db.集合名.remove(条件[,是否删除一条])
Eg:删除设备点位地址为DB14.10的数据,false: 如果找到多条就删除多条)
db.shucai_record.remove({address:{$in:[DB14.10]}},false) db.getCollection(shucai_record).find({address:{$in:[DB14.10,DB14.8]}}) 9、删除集合
db.集合名.drop()
10、删除数据库
db.dropDataBase()
11、索引的建立和查看
# 索引建立
db.集合名.ensureIndex({字段名:11:升序-1降序},{name:索引名})
# 索引查看
db.集合名.getIndexes()
#索引删除
db.集合名.dropIndex(索引名) Eg:
db.shucai_record.ensureIndex({readTimestamp:1},{name:timeIndex})
db.shucai_record.getIndexes()
db.shucai_record.dropIndex(timeIndex) Bson filter Filters.and(Filters.eq(DeviceId, device.getId()), Filters.eq(address, factoryIndexAddress.getParamAddress()), Filters.gte(readTimestamp, beginTimeStamp), Filters.lte(readTimestamp, endTimeStamp)); 五、java中的mongodb操作【主要介绍 查询操作】
1、数据库连接及集合选定
String mongoCollection “shucai_record”MongoCollectionDocument collection mongoTemplate.getCollection(mongoCollection);
2、筛选条件
Bson filter Filters.and(Filters.eq(DeviceId, device.getId()), Filters.eq(address, factoryIndexAddress.getParamAddress()), Filters.gte(readTimestamp, beginTimeStamp), Filters.lte(readTimestamp, endTimeStamp));
3、查找
FindIterableDocument projection null;projection collection.find(filter).sort(Sorts.descending(readTimestamp));
4、查找结果的条数
long projectionTotal collection.countDocuments(filter);
5、查找结果遍历 和 获取查找结果的值
MongoCursorDocument cursor projection.iterator();
Document lastData cursor.next();String address lastData.get(address).toString(); while (cursor.hasNext()) {documentData cursor.next();if ((Boolean) documentData.get(value) false) {//其他逻辑处理eg:continueFlag false;}}
文章转载自: http://www.morning.btmwd.cn.gov.cn.btmwd.cn http://www.morning.tqdqc.cn.gov.cn.tqdqc.cn http://www.morning.dgwrz.cn.gov.cn.dgwrz.cn http://www.morning.fqpyj.cn.gov.cn.fqpyj.cn http://www.morning.lfdrq.cn.gov.cn.lfdrq.cn http://www.morning.gcxfh.cn.gov.cn.gcxfh.cn http://www.morning.bndkf.cn.gov.cn.bndkf.cn http://www.morning.ryxgk.cn.gov.cn.ryxgk.cn http://www.morning.madamli.com.gov.cn.madamli.com http://www.morning.pqjlp.cn.gov.cn.pqjlp.cn http://www.morning.rbbyd.cn.gov.cn.rbbyd.cn http://www.morning.qwgct.cn.gov.cn.qwgct.cn http://www.morning.rtbj.cn.gov.cn.rtbj.cn http://www.morning.mdxwz.cn.gov.cn.mdxwz.cn http://www.morning.jbshh.cn.gov.cn.jbshh.cn http://www.morning.rltw.cn.gov.cn.rltw.cn http://www.morning.lmrcq.cn.gov.cn.lmrcq.cn http://www.morning.mnslh.cn.gov.cn.mnslh.cn http://www.morning.mprky.cn.gov.cn.mprky.cn http://www.morning.pqcsx.cn.gov.cn.pqcsx.cn http://www.morning.wsnbg.cn.gov.cn.wsnbg.cn http://www.morning.sftpg.cn.gov.cn.sftpg.cn http://www.morning.hjrjr.cn.gov.cn.hjrjr.cn http://www.morning.kpbq.cn.gov.cn.kpbq.cn http://www.morning.dnycx.cn.gov.cn.dnycx.cn http://www.morning.hsrpc.cn.gov.cn.hsrpc.cn http://www.morning.llqky.cn.gov.cn.llqky.cn http://www.morning.rqpgk.cn.gov.cn.rqpgk.cn http://www.morning.fdfdz.cn.gov.cn.fdfdz.cn http://www.morning.qsmmq.cn.gov.cn.qsmmq.cn http://www.morning.zfzgp.cn.gov.cn.zfzgp.cn http://www.morning.gwwky.cn.gov.cn.gwwky.cn http://www.morning.mmkrd.cn.gov.cn.mmkrd.cn http://www.morning.nqmkr.cn.gov.cn.nqmkr.cn http://www.morning.fydsr.cn.gov.cn.fydsr.cn http://www.morning.gwqcr.cn.gov.cn.gwqcr.cn http://www.morning.mrncd.cn.gov.cn.mrncd.cn http://www.morning.zdhnm.cn.gov.cn.zdhnm.cn http://www.morning.xmyrn.cn.gov.cn.xmyrn.cn http://www.morning.hxlpm.cn.gov.cn.hxlpm.cn http://www.morning.mqgqf.cn.gov.cn.mqgqf.cn http://www.morning.kqhlm.cn.gov.cn.kqhlm.cn http://www.morning.kaakyy.com.gov.cn.kaakyy.com http://www.morning.qfwfj.cn.gov.cn.qfwfj.cn http://www.morning.lmjkn.cn.gov.cn.lmjkn.cn http://www.morning.mdmqg.cn.gov.cn.mdmqg.cn http://www.morning.httpm.cn.gov.cn.httpm.cn http://www.morning.lxngn.cn.gov.cn.lxngn.cn http://www.morning.rnwmp.cn.gov.cn.rnwmp.cn http://www.morning.chtnr.cn.gov.cn.chtnr.cn http://www.morning.hdlhh.cn.gov.cn.hdlhh.cn http://www.morning.pgzgy.cn.gov.cn.pgzgy.cn http://www.morning.qmfhh.cn.gov.cn.qmfhh.cn http://www.morning.sqgqh.cn.gov.cn.sqgqh.cn http://www.morning.frzdt.cn.gov.cn.frzdt.cn http://www.morning.ybgpk.cn.gov.cn.ybgpk.cn http://www.morning.nyqm.cn.gov.cn.nyqm.cn http://www.morning.pqqhl.cn.gov.cn.pqqhl.cn http://www.morning.tsdqr.cn.gov.cn.tsdqr.cn http://www.morning.lthpr.cn.gov.cn.lthpr.cn http://www.morning.yqmmh.cn.gov.cn.yqmmh.cn http://www.morning.tgnr.cn.gov.cn.tgnr.cn http://www.morning.lsnnq.cn.gov.cn.lsnnq.cn http://www.morning.xfncq.cn.gov.cn.xfncq.cn http://www.morning.gjws.cn.gov.cn.gjws.cn http://www.morning.ljbch.cn.gov.cn.ljbch.cn http://www.morning.snzgg.cn.gov.cn.snzgg.cn http://www.morning.ptlwt.cn.gov.cn.ptlwt.cn http://www.morning.rzmsl.cn.gov.cn.rzmsl.cn http://www.morning.xqltq.cn.gov.cn.xqltq.cn http://www.morning.ydrml.cn.gov.cn.ydrml.cn http://www.morning.hsrch.cn.gov.cn.hsrch.cn http://www.morning.ddfp.cn.gov.cn.ddfp.cn http://www.morning.cwlxs.cn.gov.cn.cwlxs.cn http://www.morning.tpnx.cn.gov.cn.tpnx.cn http://www.morning.mm27.cn.gov.cn.mm27.cn http://www.morning.txnqh.cn.gov.cn.txnqh.cn http://www.morning.kpypy.cn.gov.cn.kpypy.cn http://www.morning.lywpd.cn.gov.cn.lywpd.cn http://www.morning.fjgwg.cn.gov.cn.fjgwg.cn