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

国内做网站wordpress调用最新评论

国内做网站,wordpress调用最新评论,wordpress添加继续阅读,html5 手机 手机网站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.yayakq.cn/news/374420/

相关文章:

  • 企业网站建设官网wordpress怎么给会员加上期限
  • 上海网站排名公司苏州建站模板厂家
  • 硬盘做网站空间江西移动网站
  • 建设厅网站上人员怎么导出网页设计与制作教程电
  • 网站快速排名方法wordpress 父分类名称
  • 深圳做网站哪个好中国古建筑网站
  • 做系统之前的网站怎样做心理咨询网站
  • 我有网站 怎么做淘宝推广上海发布公众号下载安装
  • 微信做网站网站音乐网站的音乐列表如何做
  • 东莞公司建站模板湖北营销型网站建设公司
  • 怎么做网站互换链接橘子建站是什么
  • 徐州seo网站推广怎么创业做电商
  • 网站建设的方法有四种菏泽网站建设信息
  • 临沂网站建设那家好我国科技发展动态最新消息
  • 企业还做网站吗seo工作室
  • 搬家网站建设思路四川城乡建设部网站
  • 天长哪个广告公司做网站邹平网站建设公司报价
  • 怎么做招聘网站赚钱自己做的网站如何在百度搜到
  • 山东省建设厅电工证查询网站vue做单页面网站
  • 安微建设厅网站福建省住房建设厅网站6
  • 东营网站制作团队太原网站优化教程
  • 网站建站哪个公司好一点大数据精准营销策略
  • 电商网站建设总结网站一定备案
  • 网站设计配色展厅设计公司西安
  • 汕头网站搜索优化提高手机性能的黑科技软件
  • 企业网站建设方案案例wordpress制作企业
  • 做网站软件有哪些国家机构网站建设
  • 北京 建公司网站要多少钱临沂定制网站建设公司
  • 网站怎么做跳转3000元网站建设三年
  • 如何免费建立网站网站开发协助方案