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

电子商务网站建设要多少钱广州越秀区二手房

电子商务网站建设要多少钱,广州越秀区二手房,注册城乡规划师2021报考时间,广告设计属于什么学类文章目录1. 简介2. 特点3. 应用场景4. 安装#xff08;docker#xff09;5. 核心概念5.1 库5.2 集合5.3 文档6. 基本操作6.1 库6.1.1 增6.1.2 删6.1.3 改6.1.4 查6.2 集合6.2.1 增6.2.2 删6.2.3 改6.2.4 查6.3. 文档6.3.1 增6.3.2 删6.3.3 改6.3.4 查1. 语法2. 对比语法3. AN… 文章目录1. 简介2. 特点3. 应用场景4. 安装docker5. 核心概念5.1 库5.2 集合5.3 文档6. 基本操作6.1 库6.1.1 增6.1.2 删6.1.3 改6.1.4 查6.2 集合6.2.1 增6.2.2 删6.2.3 改6.2.4 查6.3. 文档6.3.1 增6.3.2 删6.3.3 改6.3.4 查1. 语法2. 对比语法3. AND4. OR5. AND OR6. 数组数据查询7. 模糊查询(正则表达式)8. 排序9. 分页10. 总条数11. 去重12. 指定返回字段7. $type8. 索引8.1 说明8.2 使用9. 聚合9.1 说明9.2 使用10. 整合 SpringBoot10.1 pom10.2 yml10.3 coding11. 副本集12. 分片集群前置要求 : RDBMS 关系型数据库LinuxSpringBoot 1. 简介 MongoDB 是一个 基于分布式文件存储 的数据库。由C语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB 是一个 介于关系数据库和非关系数据库之间 的产品是非关系数据库当中功能最丰富最像关系数据库的。 它支持的数据结构非常松散是类似 json 的 bson 格式因此可以存储比较复杂的数据类型。MongoDB 最大的特点是它支持的查询语言非常强大其语法有点类似于面向对象的查询语言几乎可以实现类似关系数据库单表查询的绝大部分功能而且还支持对数据建立索引。 MongoDB服务端可运行在Linux、Windows平台支持32位和64位应用默认端口为27017。 推荐运行在64位平台因为MongoDB在32位模式运行时支持的最大文件尺寸为2GB。 2. 特点 面向集合存储易存储对象类型的数据支持查询以及动态查询支持 RUBY, PYTHON, JAVA, C, PHP, C# 等多种语言文件存储格式为 BSON (对 JSON 的扩展)支持复制和故障恢复和分片支持事务索引 - 提高查询效率聚合关联查询 3. 应用场景 游戏应用 : 使用云数据库MongoDB作为游戏服务器的数据库存储用户信息。用户的游戏装备、积分等直接以内嵌文档的形式存储方便进行查询与更新。物流应用 : 使用云数据库MongoDB存储订单信息订单状态在运送过程中会不断更新以云数据库MongoDB内嵌数组的形式来存储-次查询就能将订单所有的变更读取出来方便快捷且一目了然。社交应用 : 使用云数据库MongoDB存储用户信息以及用户发表的朋友圈信息通过地理位置索引实现附近的人、地点等功能。并且云数据库MongDB非常适合用来存储聊天记录因为它提供了非常丰富的查询并在写入和读取方面都相对较快。视频直播 : 使用云数据库MongoDB存储用户信息、礼物信息等。大数据应用 : 使用云数据库MongoDB作为大数据的云存储系统随时进行数据提取分析掌握行业动态。 4. 安装docker # 拉取镜像 docker pull mongo # 创建容器 docker run --name mongodb -d -p 27017:27017 mongo:latest --auth # 查看所有容器 docker ps -a # 进入容器 docker exec -it d96de8c77c72(CONTAINER ID) bash # 连接 mongo 客户端(前提: 在容器内) mongo # 设置 root 权限 use admin; db.createUser({user: nuo,pwd: xiaonuo123..,roles: [root] }); # 认证 db.auth(nuo, xiaonuo123..); # 查看数据库信息(前提: 进入 mongo 客户端) show dbs; # 退出 mongo 客户端 exit # 再次 exit, 退出容器 exit # 停止容器 docker stop d96de8c77c72(CONTAINER ID) # 启动已有容器 docker start d96de8c77c72(CONTAINER ID)5. 核心概念 5.1 库 mongodb 中的库就类似于传统关系型数据库中库的概念用来通过不同库隔离不同应用数据。mongodb中可以建立多个数据库, 每一个库都有自己的集合和权限不同的数据库也放置在不同的文件中。 默认的数据库为 “test” , 数据库存储在启动指定的data目录中。 5.2 集合 集合就是MongoDB 文档组, 类似于 RDBMS (关系数据库管理系统: Relational Database Management System)中的 表 的概念.集合存在于数据库中一个库中可以创建多个集合。每个集合没有固定的结构这意味着你在对集合可以插入不同格式和类型的数据但通常情况下我们插入集合的数据都会有一定的关联性。 5.3 文档 文档集合中一条条记录是一组键值( key-value )对(即 BSON ).MongoDB 的文档不需要设置 相同的字段并且相同的字段不需要相同的数据类型这与关系型数据库有很大的区别也 是 MongoDB 非常突出的特点。 6. 基本操作 # 清屏 cls;6.1 库 保留库说明 : admin : 从权限的角度来看这是oot数据库。要是将一 个用户添加到这个数据 库这个用户自动继承所有数据库的权限。-些特定的服务器端命令也只能从这个数 据库运行比如列出所有的数据库或者关闭服务器。local : 这个数据永远不会被复制可以用来存储限于本地单台服务器的任意集合config : 当Mongo用于分片设置时config数据库 在内部使用用于保存分片的相关 信息。 6.1.1 增 # 创建并使用 use xxx;6.1.2 删 # 默认删除当前库, 但删除后其实还在当前库里边, 只是数据没了 db.dropDatabase();6.1.3 改 没有直接的操作 # 方案一: 拷贝数据库后删除原来的数据库 db.copyDatabase(old_name, new_name); use old_name; db.dropDatabase(); # 方案二: 利用renameCollection命令, 如果有多个集合循环处理就好了 db.adminCommand({renameCollection: db1.test1, to: db2.test2})6.1.4 查 # 查看当前使用的数据库 db; # 查看所有数据库(如果没有数据默认是不显示的) show databases; # or show dbs;6.2 集合 6.2.1 增 # 1. 显式创建 db.createCollection(collection, [options]); # collection: 集合名称 # [options] : 可选参数(不填则为默认) # eg. db.createCollection(user); db.createCollection(user, {capped: true, size: 5000, max: 100}); 2. 隐式创建-向不存在的集合插入数据 db.user.insert({name: nuo});6.2.2 删 # user: 集合名称 db.user.drop();6.2.3 改 db.adminCommand({renameCollection: demo.test, to: demo.user})6.2.4 查 # 获取数据库中所有集合(表) show collections; # or show tables;6.3. 文档 6.3.1 增 # 1. 单条文档(数据) db.user.insert({name: nuo}); # bson 格式, key 可以不写 ,eg. db.user.insert({name: nuo});# 2. 多条文档(数据)批量插入 db.user.insertMany([{name: abc, _id:2},{name: 123}],writeConcern: 1, # 写入策略, 默认 1, 即要求确认写操作, 0 是不要求ordered: true # 指定是否按顺序写入, 默认 true ); db.user.insert([{name: abc, _id:1},{name: 123}] ); # 3. 脚本插入 for (let i 0; i 10; i ) {db.user.insert({userId: i}); }注意 在 mongodb 中每个文档都有一个 ‘_id’ 作为唯一标识‘_id’ 默认会自动生成如果手动指定则将使用手动指定的指作为 ‘_id’ 的值。 6.3.2 删 db.collection.remove (query,{justOne: boolean,writeConcern: document} }参数说明 : query : 可选删除的文档的条件。justOne : 可选如果设为 true 或 1 则只删除一个文档如果不设置该参数或使用默认值false则删除所有匹配条件的文档。writeConcern : 可选抛出异常的级别一般不用管。 eg. # 删个别 db.user.remove({name:nuo1}, {justOne:false}); # 删除所有 db.collection.remove({});6.3.3 改 db.collection.update(query,update,{upsert: boolean,multi: boolean,writeConcern: document} );参数说明: query : update的查询条件 类似sql update查询内where后面的。update : update的对象和一些更新的操作符(她.,i.n…). 等也可以理解为sql update查询内set后面的upsert: 可选这个参数的意思是如果不存在update的记录 是否插入objNew,true 为插入默认是false,不插入。multi: 可选mongodb默认是false,只更新找到的第一 条记录如果这个参数为true, 就把按条件查出来多条记录全部更新。writeConcern :可选抛出异常的级别。 eg. # 将符合条件的全部更新成后面的文档相当于先删除在更新 db.user.update({name: nuo2}, {name: nuo1, bir: new Date()});# 保留原来数据更新但是只更新符合条件的第一条数据 db.user.update({name: nuo1}, {$set: {name: nuo3});# 保留原来数据更新更新符合条件的所有数据 db.user.update({name: nuo1}, {$set: {name: nuo3},{multi:true});# 保留原来数据更新更新符合条件的所有数据没有条件符合时插入数据(saveOrUpdate) db.user.update({name: nuo1}, {$set: {name: nuo3}, {multi: true, upsert: true});6.3.4 查 1. 语法 db.collection.find(query, projection);参数描述 : query : 可选使用查询操作符指定查询条件projection : 可选使用投影操作符指定返回的键。查询时返回文档中所有键值只需省略该参数即可(默认省略) 。 MongoDB 查询文档使用find() 方法。find() 方法以非结构化的方式来显示所有文档如果你需要以易读的方式来读取数据可以使用 pretty() 方法以格式化的方式来显示所有文档语法格式如下 : db.collection.find().pretty();2. 对比语法 如果你熟悉常规的SQL数据通过下表可以更好的理解MongoDB的条件语句查询: 3. AND db.collection.find({k1: v1, k2: v2, ...}).pretty();类似于WHERE 语句: WHERE key1value1 AND key2value2 4. OR MongoDB OR条件语句使用了关键字$or,语法格式如下: db.collection.find($or: [{k1: v1}, {k2: v2}] ).pretty();类似于WHERE语句: WHERE k1v1 or k2v2 5. AND OR 类似SQL语句为: where age 18 AND (name nuo1’ OR name nuo2 ) db.user.find({age: {$lt: 18}, $or: [{name: nuo1}, {name: nuo2}] }).pretty();6. 数组数据查询 # 测试数据 db.user.insert({age: 3,like: [看电视,读书],name: nuo11 }); --执行数组查询db.user.find({like: 看电视})7. 模糊查询(正则表达式) db.user.find( {name:/nuo/});类似SQL中为where name like %name% 8. 排序 1 : 升序 -1: 降序 db.collection.find().sort( {name:1, age:1}),类似SQL语句为: order by name, age 9. 分页 db.collection.find().sort( {条件}) .skip(start).limit( rows); 类似于SQL语句为: limit start, rows 10. 总条数 db.collection.count(); db.collection.find({name: nuo1}).count();类似于SQL 语句为: select count(id) from 11. 去重 db.collection.distinct(字段)12. 指定返回字段 db.collection.find({query}, {name: 1, age: 1})1 : 返回 0 : 不返回 注意:1和0不能同时使用 7. $type $type 操作符是基于 BSON 类型来检索集合中匹配的数据类型并返回结果 db.col.find({title: {$type : 2}}). pretty(); # or db.col. find({title : {$type: string }}). pretty();8. 索引 8.1 说明 索引通常能够极大的提高查询的效率如果没有索引MongoDB在读取数据时必须扫描集合中的每个文件并选取那些符合查询条件的记录。这种扫描全集合的查询效率是非常低的特别在处理大量的数据时查询可以要花费几十秒甚至几分钟这对网站的性能是非常致命的。索引是特殊的数据结构索引存储在一个易于遍历读取的数据集合中 索引是对数据库表中一列或多列的值进行排序的一种结构。 从根本上说MongoDB中的索引与 其他数据库系统中的索引类似。MongoDB在集合层面上定义了索引并支持对MongoDB集合中的任何字段或文档的子字段进行索引。 8.2 使用 # db.collection.createIndex(keys, options); # 1 : 升序 # -1: 降序 db.test.createIndex( {title : 1, description : -1});说明 : 语法中Key 值为你要创建的索引字段1为指定 按升序创建索引如果你想按降序来创建索引指定为 -1 即可。 # 1. 查看集合索引 db.collection.getIndexes(); # 2. 查看集合索引大小 db.collection.totalIndexSize(); # 3. 删除集合所有索引 db.collection.dropIndexes(); # 4. 删除集合指定索引 db.collection.dropIndex(索引名称);复合索引 说明 : 一个索引的值是由多个key进行维护的索引的称之为复合索引注意 : mongoDB 中复合索引和传统关系型数据库一致都是左前缀原则 db.collection.createIndex( {title: 1, description: -1})9. 聚合 9.1 说明 MongoDB中聚合(aggregate)主要用于处理数据(诸如统计平均值求和等)并返回计算后的数据结果。有点类似 SQL 语句中的 count(*)。 9.2 使用 {title: MongoDB Overview, description: MongoDB is no sql database,by_user: runoob.com,url: http://www.runoob.com,tags: [mongodb, database, NoSQL],likes: 100 }, {title: NoSQL Overview, description: No sql database is very fast,by_user: runoob.com,url: http://www.runoob.com,tags: [mongodb, database, NoSQL],likes: 10 }, {title: Neo4j Overview, description: Neo4j is no sql database,by_user: Neo4j,url: http://www.neo4j.com,tags: [neo4j, database, NoSQL],likes: 750 }db.mycol.aggregate([{$group : {_id : $by_user, num_tutorial : {$sum : 1}}}])10. 整合 SpringBoot 10.1 pom dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-mongodb/artifactId /dependency10.2 yml spring:data:mongodb:host: localhostport: 27017database: demousername: nuopassword: xiaonuo123..10.3 coding SpringBootTest class MongodbApplicationTests {Autowiredprivate MongoTemplate mongoTemplate;Testvoid contextLoads() {}/** * TODO: 创建集合*/ Testvoid creatCollection() {System.out.println(mongoTemplate.createCollection(nuo));}/*** TODO: 删除集合*/Testvoid dropCollection() {mongoTemplate.dropCollection(nuo);}/*** TODO: 增* - 插入重复数据时 :* insert: 报 DuplicateKeyException 提示主键重复;* save : 对已存在的数据进行更新.* - 批处理操作时:* insert: 可以一次性插入整个数据, 效率较高;* save : 需遍历整个数据, 一次插入或更新, 效率较低.*/Testvoid add() {mongoTemplate.save(new User(100, nuo, 123));mongoTemplate.insert(new User(101, nuo, 123));}/*** TODO: 删*/Testvoid del() {mongoTemplate.remove(Query.query(Criteria.where(username).is(test)), User.class);}/*** TODO: 改*/Testvoid put() {mongoTemplate.updateMulti(Query.query(Criteria.where(username).is(nuo)), Update.update(username, test), User.class);}/*** TODO: 查*/Testvoid query() {}}11. 副本集 mongodb的复制至少需要两个节点。其中一个是主节点负责处理客户端请求其余的都是从节点负责复制主节点上的数据。 mongodb各个节点常见的搭配方式为一主一从、一主多从。 主节点记录在其上的所有操作oplog从节点定期轮询主节点获取这些操作然后对自己的数据副本执行这些操作从而保证从节点的数据与主节点一致。 副本集特征 N 个节点的集群任何节点可作为主节点所有写入操作都在主节点上自动故障转移自动恢复 12. 分片集群 在Mongodb里面存在另一种集群就是分片技术,可以满足MongoDB数据量大量增长的需求。 当MongoDB存储海量的数据时一台机器可能不足以存储数据也可能不足以提供可接受的读写吞吐量。这时我们就可以通过在多台机器上分割数据使得数据库系统能存储和处理更多的数据。 为什么使用分片? \ 复制所有的写入操作到主节点延迟的敏感数据会在主节点查询单个副本集限制在12个节点当请求量巨大时会出现内存不足。本地磁盘不足垂直扩展价格昂贵 Shard : 用于存储实际的数据块实际生产环境中一个shard server角色可由几台机器组个一个replica set承担防止主机单点故障 Config Server : mongod实例存储了整个 ClusterMetadata其中包括 chunk信息。 Query Routers : 前端路由客户端由此接入且让整个集群看上去像单一数据库前端应用可以透明使用。
http://www.dnsts.com.cn/news/35237.html

相关文章:

  • 电子行业网站建设建免费的网站吗
  • 枣庄手机网站开发公司义乌推广公司
  • 网站营销概念上海有多少家公司
  • wordpress文章不分段东莞seo收费
  • 主体备案与网站备案wordpress数字中文主题
  • 优秀网站欣赏wordpress 圆形头像
  • 麻阳建设局网站网页版微信小程序页面入口
  • 东莞网站推广教程如何建立自己音乐网站
  • 佛山建网站哪里好做网店哪个网站好
  • 在线教育网站建设投标书近期网络舆情热点事件
  • wordpress关闭分享厦门seo顾问屈兴东
  • 汽车公司网站建设买域名做网站
  • wordpress搭建教育网站ps软件免费版在哪下载
  • 个体户能做网站备案吗建e网全景图
  • 没备案的网站可以做淘客做网站开发教程
  • win7 发布asp网站一般通过 什么意思
  • html个人网站案例网站模板 带数据库
  • 东莞公司注册哪家好seo排名工具快速提高
  • 黄页网站推广app免费下载牛商网做的包装盒网站
  • 提供企业网站建设制作网线视频
  • 网站建设开票项目是什么徐州京都网架公司
  • 母婴电子商务网站建设南和县住房和建设局网站
  • 行业类网站应如何建设怎么注册域名
  • 自考在线做试卷的网站手机怎么做网站
  • 网站开发模板图片wordpress文章添加自定义字段
  • wordpress绑定网站网络运营培训班多少钱
  • 网站制作设计收费在国际网站上做贸易怎么发货
  • 网站搜索优化排名网络购物商城网站建设
  • 大连 响应式网站做带数据库的网站
  • 中网站建设网站的用户体验主要有那些类型