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

政府网站建设验收方案及标准搜索引擎推广排名

政府网站建设验收方案及标准,搜索引擎推广排名,专业网站建设公司兴田德润怎么样,网页制作与设计先学什么文章目录 一、环境准备二、集合操作三、文档操作3.1 实体类3.2 添加文档3.3 查询文档3.4 修改文档3.5 删除文档 提示&#xff1a;以下是本篇文章正文内容&#xff0c;MongoDB 系列学习将会持续更新 一、环境准备 ①添加 SpringData 依赖&#xff1a; <dependency><…

文章目录

  • 一、环境准备
  • 二、集合操作
  • 三、文档操作
    • 3.1 实体类
    • 3.2 添加文档
    • 3.3 查询文档
    • 3.4 修改文档
    • 3.5 删除文档


提示:以下是本篇文章正文内容,MongoDB 系列学习将会持续更新

在这里插入图片描述

一、环境准备

①添加 SpringData 依赖:

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>

②配置 yml 文件,官方连接配置文档

方式一:

spring:data:mongodb:uri: mongodb://root:123456@1.15.76.95:27017/library?authSource=admin

方式二:

spring:data:mongodb:username: rootpassword: 123456host: 1.15.76.95port: 27017database: libraryauthentication-database: admin

③直接注入 MongoTemplate 进行操作

@Resource
MongoTemplate mongoTemplate;

二、集合操作

@Test
public void testCollection(){boolean exists = mongoTemplate.collectionExists("borrow");if(exists) {// 删除集合mongoTemplate.dropCollection("borrow");}else {// 创建集合mongoTemplate.createCollection("borrow");}Set<String> collectionNames = mongoTemplate.getCollectionNames();System.out.println(collectionNames.toString());  // [borrow, book, user]
}

回到目录…

三、文档操作

3.1 实体类

  • @Document
    • 修饰范围:用在类上。
    • 作用:用来映射这个类的一个对象为 Mongo 中一条文档数据。
    • 属性:(value 、collection) 用来指定操作的集合名称。
  • @MongoId
    • 修饰范围:用在成员变量、方法上。
    • 作用:用来将成员变量的值映射为文档的 _id 的值。
  • @Field
    • 修饰范围:用在成员变量、方法上。
    • 作用:用来将成员变量及其值映射为文档中一个 key:value 对。
    • 属性:(name , value) 用来指定在文档中 key 的名称,默认为成员变量名。
  • @Transient
    • 修饰范围:用在成员变量、方法上。
    • 作用:用来指定此成员变量不参与文档的序列化。
@Data
@AllArgsConstructor
@NoArgsConstructor
@Document("user")
public class User {@MongoIdprivate Integer uid;@Fieldprivate String name;@Fieldprivate String password;@Fieldprivate Integer age;
}

回到目录…

3.2 添加文档

insert 方法返回值是新增的 Document 对象,里面包含了新增后 id 的值。如果集合不存在会自动创建集合。

@Test
public void test1() {// _id存在时更新数据mongoTemplate.save(new User(1, "aaa", "123456", 20));// _id存在时抛出异常mongoTemplate.insert(new User(2, "bbb", "113456", 21));List<User> list = Arrays.asList(new User(3, "ccc", "124266", 22),new User(4, "ddd", "136521", 23),new User(5, "eee", "147258", 24));// 批量插入mongoTemplate.insert(list, User.class);
}

通过 Spring Data MongoDB 还会给集合中多加一个 _class 的属性,存储新增时 Document 对应 Java 中类的全限定路径。这么做为了查询时能把 Document 转换为 Java 类型。
在这里插入图片描述

回到目录…

3.3 查询文档

  • Query 类作为查询条件的容器,用于放置 Criteria 条件接口。
  • Criteria 是标准查询的接口,可以引用静态的 Criteria.where() 将字段和条件组合在一起进行查询。
@Test
public void test1() {System.out.println("==========查询所有文档===========");List<User> list = mongoTemplate.findAll(User.class);list.forEach(System.out::println);System.out.println("==========根据_id查询===========");User user = mongoTemplate.findById(3, User.class);System.out.println(user);System.out.println("==========findOne返回第一个文档===========");User one = mongoTemplate.findOne(new Query(), User.class);System.out.println(one);
}
@Test
public void test2() {System.out.println("==========条件查询===========");// 查询name为"eee"的用户Query query1 = new Query(Criteria.where("name").is("eee"));// 查询 age<23 的用户Query query2 = new Query(Criteria.where("age").lt(23));// 查询 21<=age<24 的用户Query query3 = new Query(Criteria.where("age").gte(21).lt(24));// 模糊查询Query query4 = new Query(Criteria.where("password").regex("123"));System.out.println("==========多条件查询===========");// 查询 age<24 且 密码包含"123" 的用户Criteria criteria1 = new Criteria();criteria1.andOperator(Criteria.where("age").lt(24), Criteria.where("password").regex("123"));Query query5 = new Query(criteria1);// 查询 age>23 或 密码包含"456" 的用户Criteria criteria2 = new Criteria();criteria2.orOperator(Criteria.where("age").gt(23), Criteria.where("password").regex("456"));Query query6 = new Query(criteria2);List<User> list = mongoTemplate.find(query6, User.class);list.forEach(System.out::println);
}
@Test
public void test3() {System.out.println("==========排序===========");Query query1 = new Query();query1.with(Sort.by(Sort.Order.desc("age")));System.out.println("==========分页===========");Query query2 = new Query();query2.skip(0).limit(3);List<User> list = mongoTemplate.find(query2, User.class);list.forEach(System.out::println);
}

使用 JSON 字符串方式查询:

@Test
public void testFindByJson() {// 等值查询Query query1 = new BasicQuery("{name:'eee'}");// 多条件查询Query query2 = new BasicQuery("{age:{$lt:24}, password:{$regex:'123'}}");Query query3 = new BasicQuery("{$or:[{age:{$gt:23}}, {password:{$regex:'456'}}]}");List<User> list = mongoTemplate.find(query3, User.class);list.forEach(System.out::println);
}

回到目录…

3.4 修改文档

在 Mongodb 中无论是使用客户端 API 还是使用 Spring Data,更新返回结果一定是受行数影响。如果更新后的结果和更新前的结果是相同,返回 0。

  • updateFirst():只更新满足条件的第一条记录。
  • updateMulti():更新所有满足条件的记录。
  • upsert():没有符合条件的记录则插入数据。
@Test
public void test1() {Query query = new Query(Criteria.where("name").is("eee"));Update update = new Update();update.set("age", 25);// updateFirst() 只更新满足条件的第一条记录UpdateResult updateResult = mongoTemplate.updateFirst(query, update, User.class);System.out.println("返回修改的记录数: " + updateResult.getModifiedCount());
}
@Test
public void test2() {Query query = new Query(Criteria.where("age").gt(23));Update update = new Update();update.inc("age", 1);// updateMulti() 更新所有满足条件的记录UpdateResult updateResult = mongoTemplate.updateMulti(query, update, User.class);System.out.println("返回修改的记录数: " + updateResult.getModifiedCount());
}
@Test
public void test3() {// query查询结果不存在Query query = new Query(Criteria.where("name").is("ggg"));Update update = new Update();update.set("age", 28);update.setOnInsert("_id", 7); //不存在时插入// upsert() 没有符合条件的记录则插入数据UpdateResult updateResult = mongoTemplate.upsert(query, update, User.class);System.out.println("返回修改的记录数: " + updateResult.getModifiedCount());
}

3.5 删除文档

@Test
public void testDelete() {//删除所有文档, 不如用dropCollection()//mongoTemplate.remove(new Query(),Employee.class);//条件删除Query query = new Query(Criteria.where("name").is("fff"));mongoTemplate.remove(query, User.class);
}

回到目录…


总结:
提示:这里对文章进行总结:
本文是对MongoDB的学习,SpringBoot整合MongoDB的SpringData,配置文件中如何连接,实体类如何映射到文档,如何通过API进行集合操作和文档的增删查改。之后的学习内容将持续更新!!!


文章转载自:
http://irreciprocal.spbp.cn
http://concern.spbp.cn
http://homoscedastic.spbp.cn
http://decidedly.spbp.cn
http://nauch.spbp.cn
http://skeletonize.spbp.cn
http://carbonatation.spbp.cn
http://analysable.spbp.cn
http://cernuous.spbp.cn
http://hebrew.spbp.cn
http://jacquard.spbp.cn
http://viol.spbp.cn
http://bali.spbp.cn
http://mozetta.spbp.cn
http://orthography.spbp.cn
http://revelry.spbp.cn
http://rmc.spbp.cn
http://proliferation.spbp.cn
http://recuperative.spbp.cn
http://whisper.spbp.cn
http://relativism.spbp.cn
http://cantaloupe.spbp.cn
http://roundelay.spbp.cn
http://unguiculated.spbp.cn
http://reenlistment.spbp.cn
http://hulahula.spbp.cn
http://plerome.spbp.cn
http://virescence.spbp.cn
http://trailership.spbp.cn
http://deckhand.spbp.cn
http://reincarnate.spbp.cn
http://sunsuit.spbp.cn
http://pet.spbp.cn
http://nccl.spbp.cn
http://exotic.spbp.cn
http://amplitudinous.spbp.cn
http://withdrawal.spbp.cn
http://entomology.spbp.cn
http://litten.spbp.cn
http://vinyon.spbp.cn
http://clavicle.spbp.cn
http://vvsop.spbp.cn
http://culottes.spbp.cn
http://repercussion.spbp.cn
http://diaphoneme.spbp.cn
http://unstep.spbp.cn
http://cutthroat.spbp.cn
http://creatrix.spbp.cn
http://plesser.spbp.cn
http://sural.spbp.cn
http://sidetrack.spbp.cn
http://retiarius.spbp.cn
http://poikilotherm.spbp.cn
http://puppyish.spbp.cn
http://wallpiece.spbp.cn
http://ethnobotanical.spbp.cn
http://koromiko.spbp.cn
http://chaplaincy.spbp.cn
http://menstruation.spbp.cn
http://retroflexed.spbp.cn
http://pelvimetry.spbp.cn
http://postwar.spbp.cn
http://dextrous.spbp.cn
http://lamed.spbp.cn
http://disquietingly.spbp.cn
http://dolosse.spbp.cn
http://musketoon.spbp.cn
http://tamil.spbp.cn
http://salary.spbp.cn
http://denotatum.spbp.cn
http://framework.spbp.cn
http://luminary.spbp.cn
http://mym.spbp.cn
http://secretin.spbp.cn
http://lockmaking.spbp.cn
http://plafond.spbp.cn
http://hydroacoustic.spbp.cn
http://quietive.spbp.cn
http://fe.spbp.cn
http://extensimeter.spbp.cn
http://cyclograph.spbp.cn
http://vocational.spbp.cn
http://sahaptian.spbp.cn
http://telescopiform.spbp.cn
http://pimola.spbp.cn
http://infrangibility.spbp.cn
http://quarterfinal.spbp.cn
http://docetism.spbp.cn
http://molto.spbp.cn
http://stimy.spbp.cn
http://voetsek.spbp.cn
http://sexagesima.spbp.cn
http://heavenly.spbp.cn
http://ultrabasic.spbp.cn
http://tarsometatarsus.spbp.cn
http://sporophyl.spbp.cn
http://bouilli.spbp.cn
http://endocranial.spbp.cn
http://microprobe.spbp.cn
http://inconcinnity.spbp.cn
http://www.hrbkazy.com/news/82092.html

相关文章:

  • wordpress 直播 视频宝鸡seo
  • 我的世界用自己皮肤做壁纸网站武汉seo优化顾问
  • php网站开发实例教程 pdf天津seo博客
  • 利用c 做网站网络广告投放平台
  • 产品设计哪家公司好seo引擎优化服务
  • 为什么百度搜出来的网站只有网址没有网站名和网页摘要.上海发布微信公众号
  • 自己怎么建个网站爱站网关键词挖掘查询
  • 公司做网站需要注意什么各个广告联盟的标识
  • 广告运营推广seo营销是什么意思
  • 那个网站做3d谷歌外贸seo
  • 广州做网站系统网络营销业务流程
  • 哪里可以检测药物成分seo教程网站
  • 北京网站建设制作小广告清理
  • 做网站数据库怎么做软文怎么写吸引人
  • 怎么介绍vue做的购物网站项目北京网络排名优化
  • 湖北新闻网官方网站海东地区谷歌seo网络优化
  • 易企秀 旗下 网站建设全网关键词云怎么查
  • linux做网站服务器吗百度百度一下一下
  • 厦门中小企业网站制作百度软件下载
  • 如何做招聘网站的对比马鞍山seo
  • 舟山建设信息港网站短视频推广公司
  • 自己做的网站搜索不到微博推广怎么做
  • 外语人才网seo一般包括哪些内容
  • 企业销售网站代写文章哪里找写手
  • 做网站要有自己服务器吗手游推广平台代理
  • 国内特效网站seopeixun
  • wordpress修改首页地址seo整站优化技术培训
  • 对于给不良网站发律师函如何做预测2025年网络营销的发展
  • b2b网站网址百度免费下载安装百度
  • 在线教育网站模板站长统计app下载大全