MongoDB 不支持 windows server 2012
1.MongoDB简介
MongoDB是一个高效的非关系型数据库(不支持表关系,只能操作单表)
MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的,它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。
MongoDB最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
官网:https://www.mongodb.com
2.MongoDB的特点
MongoDB 最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。它是一个面向集合的,模式自由的文档型数据库。具体特点总结如下:
1. 面向集合存储,易于存储对象类型的数据
2. 模式自由
3. 支持动态查询
4. 支持完全索引,包含内部对象
5. 支持复制和故障恢复
6. 使用高效的二进制数据存储,包括大型对象(如视频等)
7. 自动处理碎片,以支持云计算层次的扩展性
8. 支持 Python,PHP,Ruby,Java,C,C#,Javascript,Perl及C++语言的驱动程 序, 社区中也提供了对Erlang及.NET 等平台的驱动程序
9. 文件存储格式为 BSON(一种 JSON 的扩展)
3.区别
MYSQL : 用于存储安全性要求比较高的数据
REDIS : 存储数据格式简单 , 并且查询非常多的数据(用户缓存)
MONGDB : 用户存储海量数据, 并且数据的安全性要求不高
4.安装教程
详细安装教程如下
Docker 安装 MongoDB | 菜鸟教程Docker 安装 MongoDB MongoDB 是一个免费的开源跨平台面向文档的 NoSQL 数据库程序。 1、查看可用的 MongoDB 版本 访问 MongoDB 镜像库地址: https:///_/mongo?tab=tags&page=1。 可以通过 Sort by 查看其他版本的 MongoDB,默认是最新版本 mongo:latest。 你也可以在下拉列表中找到其他你想要的版..https://www.runoob.com/docker/docker-install-mongodb.html
5.MongoDB的体系结构MongoDB 的逻辑结构是一种层次结构。主要由: 文档(document) 集合(collection) 数据库(database)这三部分组成的。逻辑结构是面 向用户的,用户使用 MongoDB 开发应用程序使用的就是逻辑结构。
1. MongoDB 的文档(document),相当于关系数据库中的一行记录。
2. 多个文档组成一个集合(collection),相当于关系数据库的表。
3. 多个集合(collection),逻辑上组织在一起,就是数据库(database)。
4. 一个 MongoDB 实例支持多个数据库(database)。 文档(document) 集合(collection) 数据库(database)的层次结构如下图:
mongodb层次结构
SQL术语/概念
MongoDB术语/概念
解释/说明
database
database
数据库
table
collection
数据库表/集合
row
document
表中的一条数据
column
field
数据字段/域
index
index
索引
table joins
表连接,MongoDB不支持
primary key
primary key
主键,MongoDB自动将_id字段设置为主键
- null:用于表示空值或者不存在的字段,{“x”:null}
- 布尔型:布尔类型有两个值true和false,{“x”:true}
- 数值:shell默认使用64为浮点型数值。{“x”:3.14}或{“x”:3}。对于整型值,可以使用 NumberInt(4字节符号整数)或NumberLong(8字节符号整数), {“x”:NumberInt(“3”)}{“x”:NumberLong(“3”)}
- 字符串:UTF-8字符串都可以表示为字符串类型的数据,{“x”:“呵呵”}
- 日期:日期被存储为自新纪元依赖经过的毫秒数,不存储时区,{“x”:new Date()}
- 正则表达式:查询时,使用正则表达式作为限定条件,语法与JavaScript的正则表达式相 同,{“x”:/[abc]/}
- 数组:数据列表或数据集可以表示为数组,{“x”: [“a“,“b”,”c”]}
- 内嵌文档:文档可以嵌套其他文档,被嵌套的文档作为值来处理,{“x”:{“y”:3 }}
- 对象Id:对象id是一个12字节的字符串,是文档的唯一标识,{“x”: objectId() }
- 二进制数据:二进制数据是一个任意字节的字符串。它不能直接在shell中使用。如果要 将非utf-字符保存到数据库中,二进制数据是唯一的方式。
6.导入依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency>7.编写yml文件
spring: data: mongodb: #uri: mongo://127.0.0.1:27017 host: 127.0.0.1 port: 27017 database: 数据库 # 指定用户名和密码 authentication-database: admin # 认证数据库 username: root # 用户名 password: root # 密码 spring: data: mongodb: uri: mongo://192.168.136.160:27017/testdb8.编写启动类
@EnableSwagger2 @ComponentScan(basePackages = "com") @EnableDiscoveryClient @SpringBootApplication public class TanhuaDubboMongoApplication { public static void main(String[] args) { SpringApplication.run(TanhuaDubboMongoApplication.class, args); } }9.编写实体类
@Data @Document(value="tb_person") @ApiModel(value = "tb_person", description = "用户") public class Person { @Id @ApiModelProperty(value = "用户id") private ObjectId id; @Field("myname") @ApiModelProperty(value = "用户名") private String name; @ApiModelProperty(value = "年纪") private int age; @ApiModelProperty(value = "地址") private String address; }10.编写方法
/** * @author wangli * @data 2022/3/24 13:56 * @Description: */ @Service public class RecommendUserServiceImpl extends ServiceImpl<RecommendUserMapper, RecommendUser> implements RecommendUserService { @Autowired private MongoTemplate mongoTemplate; @Autowired UserInfoFeign userInfoFeign; @Override public RecommendUser getTodayTheWind() { Long userId = UserHolder.getUserId(); Criteria criteria = Criteria.where("toUserId").is(userId); Query query = new Query(criteria).with((Sort.Order.desc("score"))).limit(1); return mongoTemplate.findOne(query,RecommendUser.class); } public TodayBest todayBest(HttpServletRequest request) { //1 获取用户id Long userId = UserHolder.getUserId(); //2 调用API查询 RecommendUser recommendUser = getTodayTheWind(); if (recommendUser == null) { recommendUser = new RecommendUser(); recommendUser.setUserId(1l); recommendUser.setScore(99d); } //3 将RecommendUser转化为TodayBest对象 String token = request.getHeader("Authorization"); StandardResult standardResult = userInfoFeign.queryUserInfo(recommendUser.getUserId(), token); userInfoFeign.queryUserInfo(recommendUser.getUserId(), token); TodayBest vo = TodayBest.init((UserInfo) standardResult.getData(), recommendUser); //4 返回 return vo; } }MongoDB安装+将MongoDB服务器作为Windows服务运行windows启动mongodb服务
windows server 2012免安装MongoDB windows安装mongodb教程
Windows Server2012R2 安装MongoDBmongodb windows安装
windows server 2012怎么安装mongodb mongodbmac安装
mongodb winserver2012r2 打开验证 mongodb windows
mongodb for windows server 2012下载 mongodb官网下载
windows server 2012安装mongodb mongodbwin7能安装么
winserver2012r2 安装mongodb windows安装mongodb教程