当前位置: 首页 > news >正文

什么网站可以做直播5118站长工具

什么网站可以做直播,5118站长工具,网站建设swot分析,123浏览器下载Mongodb的数据库简介、docker部署、操作语句以及java应用 本文主要介绍了mongodb的基础概念和特点,以及基于docker的mongodb部署方法,最后介绍了mongodb的常用数据库操作语句(增删改查等)以及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  报错如下解决办法

[root@iZ2zehrk49wgv86b2hqvncZ ~]# 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({字段名:1(1:升序-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”MongoCollection<Document> 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、查找

FindIterable<Document> projection = null;projection = collection.find(filter).sort(Sorts.descending("readTimestamp"));

4、查找结果的条数

long projectionTotal = collection.countDocuments(filter);

5、查找结果遍历 和 获取查找结果的值

MongoCursor<Document> 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.zhongyajixie.com/news/45014.html

相关文章:

  • 企业网站包含的内容google推广教程
  • 网站页面风格分类淘宝seo 优化软件
  • 汉中专业做网站友情链接交换统计表
  • 萝岗企业网站建设国际新闻网站
  • 专门做珠宝的网站百度权重怎么看
  • 重庆网站建站系统搜资源的搜索引擎
  • 天津网站优东莞网络推广代运营
  • 广州市做网站百度引流推广怎么做
  • 网站建设项目报价杭州互联网公司排名榜
  • 专业番禺网站建设广州seo顾问
  • vs2010 c 网站开发爱站网长尾关键词挖掘查询工具
  • flash 如何做游戏下载网站百度上的广告多少钱一个月
  • 网站地图 模板淄博做网站的公司
  • ie网站建设制作一个网站的全过程
  • 做网站最基本深圳全网推广排名
  • 怎么做网站啊深圳优化公司排名
  • 天津做网站公司网站推广
  • 开发网站建设的问卷调查怎样利用互联网进行网络推广
  • 雄安邯郸网站制作多少钱长春网站优化方案
  • 电子商务与网站建设收录优美的图片
  • wordpress没有底部深圳网络推广优化
  • 摄影作品出售网站怎么做一个网站页面
  • 中国航天空间站最新消息百度网盘怎么用
  • 北京住房和城乡建设委员会网站证件查询系统seo交流网
  • 什么是seo搜索引擎优化平台关键词排名优化
  • 非凡软件站建站系统有哪些
  • 上市公司网站建设百度识图识别
  • 动态网站开发语言优势百度关键词推广可以自己做吗
  • 网站的建设方案怎么写中国市场营销网网站
  • 西宁网站枫树seo