电子商务网站建设前景建设工程安全管理中心网站
- 作者: 五速梦信息网
- 时间: 2026年03月21日 11:24
当前位置: 首页 > news >正文
电子商务网站建设前景,建设工程安全管理中心网站,线上商城推广软文,如何查网站是那家做的文章目录一、MongoDB介绍1. 什么是MongoDB2. 为什么要用MongoDB3. MongoDB的应用场景4. MongoDB基本概念二、MongoDB使用教程1.下载安装#xff08;Windows#xff09;2.MongoDB Conpass简单使用#xff08;选学#xff09;3.使用navicat连接MongoDB4.JAVA项目中使用MongoD… 文章目录一、MongoDB介绍1. 什么是MongoDB2. 为什么要用MongoDB3. MongoDB的应用场景4. MongoDB基本概念二、MongoDB使用教程1.下载安装Windows2.MongoDB Conpass简单使用选学3.使用navicat连接MongoDB4.JAVA项目中使用MongoDB(1)开启用户名密码验证(2)整合SpringBoot项目一、MongoDB介绍
- 什么是MongoDB MongoDB是一个文档数据库由C语言编写旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB目前在数据库总排名第5在NoSQL数据库排名首位是当前最流行的数据库之一。 注意这里所指文档并非我们一般理解的 PDFWORD 文档而是来自于“JSON Document”以 JSON 为数据模型。 官方介绍详见MongoDB官网 2. 为什么要用MongoDB (1)数据结构非常松散数据格式是BSONBinary JSON 其结构是面向对象的而不是二维表因此可以存储比较复杂的数据类型。 ①数据模型与对象模型接近开发代码量低 ②这样的数据模型有利于提供高读写的能力增强吞吐量。 ③数据模型因为是面向对象的所以可以表示丰富的、有层级的数据结构比如能把“评论”直接怼到“文章“的文档中而不必创建三张表来描述这样的关系 (2)支持对数据建立索引,及时查询能力强。原则上 Oracle 和MySQL 能做的事情MongoDB 都能做包括 ACID 事务。 (3)易伸缩,提供了分片能力能对数据集进行分片数据的存储压力分摊给多台服务器 (4)自动故障转移,MongoDB自身提供了副本集,能检测主节点是否存活当失活时能自动提升从节点为主节点达到故障转移。 (5)数据恢复功能MongoDB提供了Journaling日志的概念类似mysql的bin-log日志插入的时候先往日志里写入记录再完成实际的数据操作如果出现宕机可以读取Journaling日志进行修复。 (6)支持多种语言包括RUBYPYTHONJAVACPHP等 3. MongoDB的应用场景 (1)MongoDB可以解决传统数据库不好解决的三高问题 High performance - 对数据库高并发读写的需求 Huge Storage - 对海量数据的高效率存储和访问的需求 High Scalability High Availability- 对数据库的高可扩展性和高可用性的需求 (2)MongoDB应用场景特点 数据量大; 读写操作频繁; 不需要复杂的事务和join操作 数据价值较低对事务要求不高 (3)常见实际应用场景 ①游戏场景 使用MongoDB存储游戏用户信息、装备、积分等直接以内嵌文档的形式存储方便查询、更新。 ②物流场景 使用MongoDB存储订单信息、订单状态、物流信息订单状态在运送过程中飞速迭代、以MongoDB内嵌数组的形式来存储一次查询就能将订单所有的变更查出来。 ③社交场景 使用MongoDB存储用户信息朋友圈信息通过地理位置索引实现附近的人、定位功能。 ④物联网场景 使用MongoDB存储设备信息、设备汇报的日志信息、并对这些信息进行多维度分析。 ⑤视频直播 使用MongoDB存储用户信息、点赞互动信息。 ⑥大数据应用 使用云数据库MongoDB作为大数据的云存储系统随时进行数据提取分析掌握行业动态。 4. MongoDB基本概念
(1)与关系型数据库RDBMS类比
MongoDB概念RDBMS概念数据库数据库集合表文档行字段列索引索引id主键视图视图聚合操作表连接
(2)基本概念介绍 数据库database最外层的概念可以理解为逻辑上的名称空间一个数据库包含多个不同名称的集合。 集合collection相当于SQL中的表一个集合可以存放多个不同的文档。 文档document一个文档相当于数据表中的一行由多个不同的字段组成。 字段field文档中的一个属性等同于列column。 索引index独立的检索式数据结构与SQL概念一致。 id每个文档中都拥有一个唯一的id字段相当于SQL中的主键primary key。 视图view可以看作一种虚拟的非真实存在的集合与SQL中的视图类似。从MongoDB3.4版本开始提供了视图功能其通过聚合管道技术实现。 聚合操作lookupMongoDB用于实现“类似”表连接tablejoin的聚合操作符。 二、MongoDB使用教程
1.下载安装Windows 进入下载地址选择windows版本的进行下载即可。我这里下载的是6.0.4版本。 下载完成直接下一步下一步安装即可最好不要修改安装位置会默认装上可视化工具MongoDB Conpass。 控制台输入services.msc查看MongoDB的服务正常启动则安装成功。 2.MongoDB Conpass简单使用选学
(1)连接数据库 默认端口27017 (2)新建数据库Database和集合Collection 这里的集合相当于传统数据库的表名 (3)添加数据 我这里随便找了个json的数据补充在_id后面注意不要漏了逗号否则会提示格式不对 (4)导出数据 可以导出json或者csv格式的数据output那里需要指定一个文件进行导出 (5)添加索引 选择索引时会提示有哪些字段可以选 索引类型可以选择升序asc降序desc,地理空间索引2dsphere,全文索引text (6)其他功能 [Aggregation]选项卡即是聚合函数信息区用于实现“类似”表连接操作 [Schema]选项卡即是模式信息区点击分析按钮可以看到当前集合表的执行信息如表数据导入时间表的具体字段、长度等信息 [Explain Plan]选项卡即是执行计划信息区可评估查询性能 [Validation] 选项卡可以用于验证数据可以添加规则验证数据质量 注增删改查语法参照下面navicat 3.使用navicat连接MongoDB
(1)连接数据库 新建连接时选择数据库类型为MongoDB即可默认端口27017 (2)增删改查 右键新建查询进入命令行页面
Ⅰ、新增 1)语法 db. 集合名 .insert( 文档 ) : 往集合中插入一个文档 db. 集合名 .find(): 查询集合中所有文档 db.users.insertMany批量插入 2)示例 ①插入一个用户对象 db.user.insert({name: 刘备,age:24 })当没有设置id时mangoDB会自动生成一个id。 往集合中新增文档当集合不存在时会自动先创建集合再往集合中添加文档。
②插入一个用户对象设置id设置数据类型 db.user.insert({id: NumberLong(1), name: 赵日地, age: NumberInt(18)})③批量插入 db.users.insertMany([{_id: 1,name: sue,age: 19,type: 1,status: P,favorites: { artist: Picasso, food: pizza },finished: [ 17, 3 ],badges: [ blue, black ],points: [{ points: 85, bonus: 20 },{ points: 85, bonus: 10 }]},{_id: 2,name: bob,age: 42,type: 1,status: A,favorites: { artist: Miro, food: meringue },finished: [ 11, 25 ],badges: [ green ],points: [{ points: 85, bonus: 20 },{ points: 64, bonus: 12 }]},{_id: 3,name: ahn,age: 22,type: 2,status: A,favorites: { artist: Cassatt, food: cake },finished: [ 6 ],badges: [ blue, red ],points: [{ points: 81, bonus: 8 },{ points: 55, bonus: 20 }]},{_id: 4,name: xi,age: 34,type: 2,status: D,favorites: { artist: Chagall, food: chocolate },finished: [ 5, 11 ],badges: [ red, black ],points: [{ points: 53, bonus: 15 },{ points: 51, bonus: 15 }]},{_id: 5,name: xyz,age: 23,type: 2,status: D,favorites: { artist: Noguchi, food: nougat },finished: [ 14, 6 ],badges: [ orange ],points: [{ points: 71, bonus: 20 }]},{_id: 6,name: abc,age: 43,type: 1,status: A,favorites: { food: pizza, artist: Picasso },finished: [ 18, 12 ],badges: [ black, blue ],points: [{ points: 78, bonus: 8 },{ points: 57, bonus: 7 }]}] )Ⅱ、删除 1)语法 删除 1 个,若有多个则删除第一个 db. 集合名 .deleteOne( … ) 删除所有 db. 集合名 .deleteMany( … ) 2)示例 ①删除第一个 statusA的文档 db.users.deleteOne({ status: A })②删除所有带有 nameabc 的文档 db.users.deleteMany({ name : abc })③删除当前数据库中所有文档 db.users.deleteMany({})Ⅲ、更新 1)语法 更新1个db.集合名.updateOne( … ) 更新所有db.集合名.updateMany( … ) 2)示例 ①把一个带有 namexyz 的文档修改其 age 值为 30 db.users.updateOne({name: xyz}, {\(set: {age: 30}})②修改所有 namexyz的文档修改其name“zyx” age20 db.users.updateMany({name: xyz} ,{\)set: {name: zyx, age: 20}})Ⅳ、普通查询 1)语法 db. 集合名 .find(query projection) 2)示例 ①查询所有文档 db.users.find() Ⅴ、高级查询 1)等值 语法 - find({ 字段 : 值 }) 2)比较查询 语法 - find({ 字段 : { 比较操作符 : 值 …}}) 如db.users.find({age:{\(gt:20}}) 比较操作符: () 大于 - \)gt () 小于 - \(lt () 大于等于 - \)gte ( ) 小于等于 - \(lte (!) 不等 - \)ne 集合运算 - KaTeX parse error: Expected }, got EOF at end of input: in 如:{name: {in: [“xiaoyao”“bunny”]}} 判断存在 - \(exists 如:{name: {\)exists:true}} 3)逻辑查询 语法 - find({逻辑操作符: [条件1 条件2 …]}) 逻辑操作符: () 与 - \(and (||) 或 - \)or (!) 非 - \(not 包含但不包含 \)nor 存在 exists基于类型查询exists 基于类型查询exists基于类型查询type 如db.users.find({\(and:[{age:{\)gt:20}},{status:A}]}) 4)模糊查询 MongoDB的模糊查询使用的是正则表达式的语法 如:{name: {\(regex: /^.*keyword.*\)/}} 4.JAVA项目中使用MongoDB (1)开启用户名密码验证 Ⅰ.mongodb6.0后无默认shell工具之前的版本是mongo.exe需要下载下载后将mongosh.exe、mongosh_crypt_v1.dll放入bin目录下 。下载地址 Ⅱ.打开mongosh.exe,按enter即可进入。 Ⅲ.执行下面命令 切换数据库 use admin创建用户这里root是角色名 db.createUser({user: admin, // 用户名pwd: 123456, // 密码roles:[{role: root, // 角色db: admin // 数据库}] })如果需要在admin数据库以外的数据库新建数据库test可以给角色赋读写权限 db.grantRolesToUser(admin,[{ role: readWrite, db: test }])查看角色是否创建成功 show users下一次创建角色需要登录赋权 db.auth(admin,123456);Ⅳ.修改配置文件 默认安装目录C:\Program Files\MongoDB\Server\6.0\bin\mongod.cfg 找到#security: 处添加 security: authorization: enabledⅤ.重新启动再试试不需要用户密码登录连接mongo,失败。再试试下面的连接是否成功。 Ⅵ.连接成功后可以在查看中显示隐藏的项目否则admin的数据库是默认隐藏的。
(2)整合SpringBoot项目 添加maven包 !–spring boot data mongodb–dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-mongodb/artifactIdversion3.0.2/version/dependencyapplication.yml配置 spring:data:mongodb:uri: mongodb://admin:123456localhost:27017/admin新建User类 package com.example.user.domain;import lombok.AllArgsConstructor; import lombok.Data; import org.springframework.data.annotation.Id;import java.util.Date;Data AllArgsConstructor public class User {Idprivate String userId;private String name;private Integer age;private Date createTime new Date();}UserRepository.java 注意这里泛型的User对应的Collections表String代表主键类型。通过Web应用新增时会自动创建表。 package com.example.user.dal;import com.example.user.domain.User; import org.springframework.data.mongodb.repository.MongoRepository; import org.springframework.stereotype.Repository;Repository public interface UserRepository extends MongoRepositoryUser, String {}UserController.java package com.example.user.controller;import com.example.user.dal.UserRepository; import com.example.user.domain.User; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*;import java.util.List;Controller public class UserController {RequestMapping(value /test)ResponseBodypublic String test() {return test111;}Autowiredprivate final UserRepository userRepository;public UserController(UserRepository userRepository) {this.userRepository userRepository;}PostMapping(/addUser)ResponseBodypublic String addNewUser(RequestBody User user) {userRepository.save(user);return 添加成功;}GetMapping(/getUserList)ResponseBodypublic String getUserList() {ListUser userList userRepository.findAll();userList.forEach(user - System.out.println(user.toString()));return ;}}测试流程如下
- 上一篇: 电子商务网站建设期末作业长沙简单的网站建设
- 下一篇: 电子商务网站建设设计原则网站建设项目体会
相关文章
-
电子商务网站建设期末作业长沙简单的网站建设
电子商务网站建设期末作业长沙简单的网站建设
- 技术栈
- 2026年03月21日
-
电子商务网站建设期末考试网站前端做报名框
电子商务网站建设期末考试网站前端做报名框
- 技术栈
- 2026年03月21日
-
电子商务网站建设论文福建建设厅网站工程履约保险
电子商务网站建设论文福建建设厅网站工程履约保险
- 技术栈
- 2026年03月21日
-
电子商务网站建设设计原则网站建设项目体会
电子商务网站建设设计原则网站建设项目体会
- 技术栈
- 2026年03月21日
-
电子商务网站建设实训个人总结深圳 网站建设培训学校
电子商务网站建设实训个人总结深圳 网站建设培训学校
- 技术栈
- 2026年03月21日
-
电子商务网站建设实训实践总结凡科快图网站
电子商务网站建设实训实践总结凡科快图网站
- 技术栈
- 2026年03月21日






