首页 > 其他分享 >MongoTemplate基本使用

MongoTemplate基本使用

时间:2024-03-27 11:37:18浏览次数:30  
标签:基本 pageSize 使用 MongoTemplate user new query Query User

分页

/**
* mongo 分页
*/
@Test
public void testPage() {
int pageSize = 10;
int currentNo = 0;
Query query = new Query();
query.addCriteria(Criteria.where("username").is("小明"));
long count = mongoTemplate.count(query, User.class);
long totalPage = count % pageSize == 0 ? count / pageSize : count / pageSize + 1L;
for (int i = 0; i < totalPage; i++) {
long skip = i * pageSize;
query.limit(pageSize);//pageSize 10 每页大小
query.skip(skip); //那哪个位置开始截取
currentNo = i + 1;
System.out.println("第:" + currentNo + "页数。。。。。");
List<User> list = mongoTemplate.find(query, User.class, "user");
for (User user : list) {
System.out.println(user.getAge() + " name:" + user.getUsername());
}
}
}

 save

@Test
public void add() {
User user = new User();
user.setAge(999);
user.setUsername("刘能");
user.setCreateTime(new Date());
User result = mongoTemplate.save(user);
System.out.println(result.toString());
}

query

@Test
public void query() {
Query query = new Query();
query.addCriteria(Criteria.where("age").is(23));
query.addCriteria(Criteria.where("_id").is(new ObjectId("5e4a26b49c859929f823758d")));
List<User> list = mongoTemplate.find(query, User.class, "user");
list.forEach(x -> {
System.out.println(x.toString());
});
}

update

@Test
public void update() {
Query query = new Query();
query.addCriteria(Criteria.where("age").is(23));
query.addCriteria(Criteria.where("_id").is(new ObjectId("5e4a2952c129812641d97ea9")));
Update update = new Update();
update.set("username", "赵四");
UpdateResult result = mongoTemplate.updateFirst(query, update, "user");
System.out.println(result.toString());
}

delete

@Testpublic void delete() {
Query query = new Query();
query.addCriteria(Criteria.where("_id").is(new ObjectId("5e4a299808cfaa306692910c")));
DeleteResult result = mongoTemplate.remove(query, "user");
System.out.println(result);
}

 

标签:基本,pageSize,使用,MongoTemplate,user,new,query,Query,User
From: https://www.cnblogs.com/coderdxj/p/18098564

相关文章

  • Mongo Db基本查询
    gt:大于gte:大于等于lt:小于lte:小于等于SQL查询语句MongoDBfind()语句SELECT*FROMusersdb.users.find()SELECTid,user_id,statusFROMusersdb.users.find({},{user_id:1,status:1})SELECTuser_id,statusFROMusersdb.users.find({},{......
  • GeoLite2 geoip数据库下载和使用
            GeoLite2数据库是免费的IP地理定位数据库,与MaxMind的GeoIP2数据库相当,但准确度较低。GeoLite2国家、城市和ASN数据库每周更新两次,即每周二和周五。GeoLite2数据还可作为GeoLite2Country和GeoLite2CityWeb服务中的Web服务提供。GeoLite2......
  • e-chart实现上下图标使用一个tooltip移入事件
    有的需求需要一次移入事件展示多个图标的tooltip方便用户查看,效果如下链接如下:e-chart主要配置是tooltip:{trigger:'axis',axisPointer:{animation:false}},axisPointer:{link:[{xAxisIndex:'all'}]......
  • 使用K8S集群运行MongoDB7.0
    参考:https://hub.docker.com/_/mongo创建PVC创建PVC用于数据持久化#catmongodb-pvc.yamlapiVersion:v1kind:PersistentVolumeClaimmetadata:name:mongodb-pvcspec:accessModes:-ReadWriteOnceresources:requests:storage:22Gistorag......
  • 使用C++20协程和io_uring优雅地实现异步IO
    距离2020年已经过去很久了,各大编译器对于C++20各项标准的支持也日趋完善,无栈协程也是其中之一,所以我就尝试着拿协程与io_uring实现了一下proactor模式,这篇文章用来记录一下我的设计和想法。除此之外,我们能在网络上找到许多优秀的C++20协程的教程以及许多优秀的协程应用(库),但从协程......
  • cubemx使用dma实现Uart不定长数据接收
    CubeMx版本: volatileuint8_trecv_end_flag=0;volatileuint32_trx_len=0;volatileuint32_trx_len2=0;uint8_trx_buffer[BUFFER_SIZE]={0};uint8_trx_buffer2[BUFFER_SIZE]={0};voidUSART1_IRQHandler(void){/*USERCODEBEGINUSART1_IRQn0*/......
  • 在创建的Vue工程中使用el-radio定义单选框,点击不显示效果
    之前在vue工程中的组件时下面这样的<template><el-radiov-model="radio"value="0">男</el-radio><el-radiov-model="radio"value="1">女</el-radio></template> 结果是点击不显示已选中 需要在script中引入vu......
  • 如何使用极狐GitLab 自定义 Pages 根域名
    本文作者:徐晓伟GitLab是一个全球知名的一体化DevOps平台,很多人都通过私有化部署GitLab来进行源代码托管。极狐GitLab是GitLab在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。本文主要讲述了极狐GitLabPages使用独立于极狐GitLab的根域名。配置......
  • MindOpt APL 最新版本功能介绍,并且开放下载使用了!
    介绍MindOptAPL(简称MAPL)是阿里巴巴达摩院决策智能实验室研发的国内第一款拥有自主知识产权,完全自研的国产建模语言,在电力SCUC等领域问题上建模性能优秀,对标或超越已有产品,对比AMPL等建模语言,部分语法上更灵活简单,并且与MindoptStudio平台集成,可云上使用。版本更新内容......
  • 网络攻防中黑客攻击之后的渗透入侵溯源,详细案例一步步实践分析,详细介绍技术手段和使用
    网络攻防中黑客攻击之后的渗透入侵溯源,详细案例一步步实践分析,详细介绍技术手段和使用工具。黑客攻击后的渗透入侵溯源是一个复杂的过程,旨在确定攻击的来源、方法、时间和动机,以便采取适当的应对措施并防止未来的攻击。溯源工作通常由网络安全团队或专业的取证分析师执行,......