- 第一步 下载安装mongo https://www.mongodb.com/try/download/community 官网下载 里面有各种操作系统的自行选择
我是windows的自行参考
2.第二步上图一样增加两个文件夹data和log,再新建一个mongodb.conf内容如下
dbpath=E:\software\mongodb-win32-x86_64-2012plus-4.2.8/data
logpath=E:\software\mongodb-win32-x86_64-2012plus-4.2.8/log/master.log
maxConns=4000
logappend=true
具体配置详情看着 不过根据参数名应该能见名知意 mongodb.conf配置文件详解
3.然后就是进入bin目录下面 (有个mongod和mongo)
mongod --config e:mongodb-win32-x86_64-2012plus-4.2.8\mongodb.conf
启动好后访问 http://localhost:27017/ 出现一段英文如下:
It looks like you are trying to access MongoDB over HTTP on the native driver port.
好你已经成功了一半了
还可以使用bin目录下的mongo进入
4.一开始进去一定要安全管理,新建管理员
# 连接 MongoDB
$ bin/mongo
# 切换到 admin 库
> use admin;
# 创建管理员账号
> db.createUser({ user: "useradmin", pwd: "adminpassword", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })
创建好后在mongodb.conf增加配置auth=true,重启一下
5.然后创建自己的库和添加库的管理员
# 连接 MongoDB
$ bin/mongo
# 切换到 admin 库
> use admin;
# 管理员认证
> db.auth('useradmin', 'adminpassword');
# 创建数据库如果没有则会创建库
> use yourdatabase;
创建 yourdatabase 的管理员的账号密码
> db.createUser({ user: "test01", pwd: "password01", roles: [{ role: "dbOwner", db:"yourdatabase" }] })
# 创建 yourdatabase 的开发者的账号密码
db.createUser({ user: "test01", pwd: "test02", roles: [{ role: "readWrite",db: "yourdatabase" }] })
好了,mongodb你已经会了,看看springboot怎么操作mongo的
jar包配置必不可少
<!-- 自动化配置 Spring Data Mongodb -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
再建个configuration
// MongoDBConfig.java
@Configuration
public class MongoDBConfig {
@Bean // 目的,就是为了移除 _class field 。参考博客 https://blog.csdn.net/bigtree_3721/article/details/82787411
public MappingMongoConverter mappingMongoConverter(MongoDbFactory factory,
MongoMappingContext context,
BeanFactory beanFactory) {
// 创建 DbRefResolver 对象
DbRefResolver dbRefResolver = new DefaultDbRefResolver(factory);
// 创建 MappingMongoConverter 对象
MappingMongoConverter mappingConverter = new MappingMongoConverter(dbRefResolver, context);
// 设置 conversions 属性
try {
mappingConverter.setCustomConversions(beanFactory.getBean(CustomConversions.class));
} catch (NoSuchBeanDefinitionException ignore) {
}
// 设置 typeMapper 属性,从而移除 _class field 。
mappingConverter.setTypeMapper(new DefaultMongoTypeMapper(null));
return mappingConverter;
}
}
yml配置
spring:
data:
# MongoDB 配置项,对应 MongoProperties 类
mongodb:
host: 127.0.0.1
port: 27017
database: yourdatabase
username: test01
password: password01 #这个密码要加引号,所有的密码最好都要加
# 上述属性,也可以只配置 uri
logging:
level:
org:
springframework:
data:
mongodb:
core: DEBUG # 打印 mongodb 操作的具体语句。生产环境下,不建议开启。
DO
@Document(collection = "User")
public class UserDO {
@Id
private Integer id;
/**
* 账号
*/
private String username;
}
再用Repository操作,相当于dao ,用过JPA的应该都熟悉
// ProductRepository.java
public interface UserRepository extends MongoRepository<UserDO, Integer> {
}
很ok 然后就可以使用了