代理网站开发,wordpress装多站点,建设厅网站怎么打印不出来,南昌微信公众号制作目录 MongoTemplate 的功能和用法演示前提#xff1a;登录单机模式的 mongodb 服务器命令登录【test】数据库的 mongodb 客户端命令登录【admin】数据库的 mongodb 客户端命令 为 MongoDB 提供的两个 Starterspring-boot-starter-data-mongodb#xff08;为以同步方式操作 Mo… 目录 MongoTemplate 的功能和用法演示前提登录单机模式的 mongodb 服务器命令登录【test】数据库的 mongodb 客户端命令登录【admin】数据库的 mongodb 客户端命令 为 MongoDB 提供的两个 Starterspring-boot-starter-data-mongodb为以同步方式操作 MongoDB 提供的 Starter spring-boot-starter-data-mongodb-reactive反应式 Starter MongoClient ——负责去连接 MongoDB 数据库。MongoDB官网查看 MongoClient 驱动API 文档的详细步骤 MongoTemplate 的方法常用方法高级用法 代码演示创建项目配置 MongoDB 连接方式一方式二用这个 MongoTemplate 的功能和用法 演示前提 登录单机模式的 mongodb 服务器命令
mongod.exe --config E:\install\mongodb\mongodb-4.2.25\mongod.conf登录【test】数据库的 mongodb 客户端命令
mongo mongodb://192.168.0.107:27017/test -u LJHAAA -p 123456登录【admin】数据库的 mongodb 客户端命令
mongo mongodb://192.168.0.107:27017/admin -u admin -p 123456为 MongoDB 提供的两个 Starter
spring-boot-starter-data-mongodb连接 MongoDB 传统 API 的 Starter。
spring-boot-starter-data-mongodb-reactive连接 MongoDB 反应式 API 的 Starter。
这两个Starter分别依赖于不同的驱动。
MongoDb 为不同的 API ( 同步 和 反应式 都提供了对应不同的驱动。 spring-boot-starter-data-mongodb为以同步方式操作 MongoDB 提供的 Starter
添加该Starter后Spring Boot 将会在容器中自动配置 MongoDatabaseFactory 和 MongoTemplate。
如果在容器中配置自己的 com.mongodb.client.MongoClientSpring Boot 就会用它配置 MongoDatabaseFactory
——MongoDatabaseFactory 需要依赖 MongoClient。 spring-boot-starter-data-mongodb-reactive反应式 Starter
添加该 Starter 后Spring Boot 将会在容器中自动配置 ReactiveMongoDatabaseFactory 和 ReactiveMongoTemplate 。
如果在容器中配置自己的 com.mongodb.reactivestreams.client.MongoClient与前面MongoClient不是同一个 Spring Boot 就会用它配置 ReactiveMongoDatabaseFactory。 MongoClient ——负责去连接 MongoDB 数据库。
MongoDB 为同步和反应式两种编程模式都提供了对应的驱动。
MongoClient 是属于 MongoDB 官方提供的驱动 API它不是 Spring Boot、Spring Data MongoDB 所提供的。
MongoClient有两个版本分别是同步版本和反应式版本两个不同版本的 MongoClient 分别位于不同包下。 ——它们位于不同的驱动包
【MongoClient 是连接 MongoDB 的核心API】调用它的 getDatabase?(String name) 方法即可得到指定数据库对应的 MongoDatabase
这个 API 就相当于 MongoDB 客户端中的 “db” 对象
因此接下来即可通过 MongoDatabase 的方法来操作该数据库例如操作 Collection。
若要对自动配置的 MongoDatabaseFactory 或 ReactiveMongoDatabaseFactory 进行定制
只要配置自己的 MongoClient 即可MongoClient 负责连接 MongoDB 的实际工作
而 MongoDatabaseFactory 或 ReactiveMongoDatabaseFactory 只是一层包装。 MongoDB官网查看 MongoClient 驱动API 文档的详细步骤
MongoDB官网查看 MongoClient 驱动API 文档的详细步骤
查看这个API文档 MongoTemplate 的方法
常用方法
MongoTemplate 或 ReactiveMongoTemplate返回Mono或Flux提供了如下常用方法
- insert(T objectToSave)保存数据对象对应于插入一个文档。- remove(Object object)删除数据对象对应于删除一个文档。- remove(Query query, Class? entityClass)从指定集合由数据类映射中删除所有符合条件的文档。- updateFirst(Query query, UpdateDefinition update, Class? entityClass)更新指定集合由数据类映射中符合条件的第一条记录。- updateMulti(Query query, UpdateDefinition update, Class? entityClass)更新指定集合由数据类映射中符合条件的所有记录。- find(Query query, ClassT entityClass)从指定集合由数据类映射中查找所有符合条件的记录。Spring官网中查看MongoDB的API文档的详细步骤
Class MongoTemplate 高级用法
从用法角度来看MongoTemplate 提供的方法ReactiveMongoTemplate 同样也会提供
区别只是 MongoTemplate 的方法返回同步的结果如 List 等 而 ReactiveMongoTemplate 的方法返回反应式的结果如 Flux 或 Mono。 更高级的用法MongoTemplate 或 ReactiveMongoTemplate 提供了系列 execute() 方法 这些方法都需要传入一个 Lambda 形式或匿名内部类形式的 Callback 对象
开发者在实现 Callback 接口中抽象方法时可访问到 MongoDatabase相当于命令行中的db、 MongoCollection 等底层 API从而直接使用 MongoDatabase、MongoCollection 等底层 API 来操作 MongoDB 。
MongoDatabase、MongoCollection 都属于 MongoDB 驱动所提供的原生API。 Class ReactiveMongoTemplate 代码演示
创建项目
勾选上同步和反应式的依赖 配置 MongoDB 连接
方式一
Spring Boot 自动连接URL为 “mongodb://localhost/test” 的 MongoDB 服务器。 也可通过 spring.data.mongodb.uri 属性改变 MongoDB 服务器的 URL 例如通过如下属性指定 MongoDB 副本集的 URL spring.data.mongodb.urimongodb://user:passhost1:12345,host2:23456/boot上面配置指定了两个副本位于host1:12345 的副本和位于 host2:23456的副本。
一旦指定了 spring.data.mongodb.uri那就无需指定 host, port, credentialsreplica属性。
简单来说uri 相当于是指定连接 MongoDB 的快捷方式。 查看 MongoProperties 这个属性配置类 方式二用这个
也可通过如下方式配置 MongoDB 服务器的地址
spring.data.mongodb.hostlocalhost
spring.data.mongodb.port27017
spring.data.mongodb.databasetest
spring.data.mongodb.usernameLJHAAA
spring.data.mongodb.password123456所有 spring.data.mongodb.* 开头的属性都由 MongoProperties 负责处理