mongodbTempalte常用操作方法,增删改查,分页等

news/2024/10/23 9:40:32/

一、CRUD之添加
在项目中实现添加时比较简单的:
save()与insert是等价的。

Stud stud = new Stud(1,"fenganchen",18)    //实例化一个实体类
MongodbTemplage.save(stud );

或者

MongodbTemplage.insert(stud);

二、CRUD之删除
删除也是比较简单的,看代码

MongodbTemplage.remove(Query query, Class<?> entityClass)
参数解释:
Query query:传入的查询条件,按此条件进行删除
Class<?> entityClass:所删除的数据的实体类
还可以带上参数
String collectionName : 这是集合的名称


Query的实现:
Query query = new Query(Criteria.where("要查询的属性").is("属性值"));
如果条件多,可这样 and) 和 andOperator()
new Query(Criteria.where(“要查询的属性”).is(“属性值”).and(“要查询的属性”).is(“属性值”))
或者
new Query(Criteria.where(“要查询的属性”).is(“属性值”).andOperator(Criteria.where(“要查询的属性”).is(“属性值”)));

==一个Criteria中只能有一个andOperator,and可以多个,我们查询并列条件时,比较建议使用and方法。 ==

三、CRUD之更改
MongodbTemplage.update(Query var1, Update var2, Class<?> var3)

MongodbTemplage.updateFirst(Query var1, Update var2, Class<?> var3)

zhe两个不同点之处,是updateFirst只修改查到的第一个。
参数解释:
Query var1 :同上
Update var2 : 修改数据,或者说修改属性值
使用方法:

  Update update = new Update();
  update.set("属性","属性值");
Class<?> var3 : 所对应的实体类。

四、CRUD之查询
1.查询所有,无参数

MongodbTemplage.find(Query var1, Class<T> var2, String var3)

Query var1 : 写 new Query();
Class var2 :实体类
String var3 : 集合名称

2.根据字段查询数据
MongodbTemplage.find(Query var1, Class<T> var2, String var3)
Query var1 :

Query query = new Query(Criteria.where("要查询的属性").is("属性值"));


Class var2 :实体类
String var3 : 集合名称

2.根据字段查询 指定的字段
MongodbTemplage.find(Query var1, Class<T> var2, String var3)
参数解释:

Query var1 :把条件写进去,把指定字段写进去
使用 BasicDBObject 类
BasicDBObject fieldsObject = new BasicDBObject();
fieldsObject.put(“指定返回的字段”, 值);
这里的值 可为true,1(显示返回)和false,0(不显示不返回)。
测试代码

//指定返回的字段
BasicDBObject fieldsObject = new BasicDBObject();
fieldsObject.put("answerContent", true);//查询条件
BasicDBObject dbObject = new BasicDBObject();
dbObject.put("topic_id", topic_id);
Query query = new BasicQuery(dbObject.toJson(), fieldsObject.toJson());List<Answer> answer = mongoTemplate.find(query, Answer.class, "answer");

分页查询:


public Page<AssetIdentifier> findAllAssetIdentifier(HttpServletRequest request){//当前页码 默认给了0int page = Integer.parseInt(request.getParameter("page"));//页面展示数据条数 默认给了 10int count = Integer.parseInt(request.getParameter("count"));//筛选条件String typeCtg = request.getParameter("type_ctg");String type = request.getParameter("type");String company = request.getParameter("company");//排序//Sort sort = Sort.by(Sort.Direction.DESC, "_id");//Pageable pageable = PageRequest.of(page, count, sort);Pageable pageable = PageRequest.of(page, count);Query query = new Query();//动态拼接查询条件if(StringUtils.isNotBlank(typeCtg)){query.addCriteria(Criteria.where("type_ctg").is(typeCtg));}if(StringUtils.isNotBlank(type)){query.addCriteria(Criteria.where("type").is(type));}if(StringUtils.isNotBlank(company)){query.addCriteria(Criteria.where("company").is(company));}//获取总条数long count1 = mongoTemplate.count(query,AssetIdentifier.class);LOGGER.debug("asset identifier count:"+count1);List<AssetIdentifier> identifierList = mongoTemplate.find(query.with(pageable), AssetIdentifier.class);return new PageImpl<AssetIdentifier>(identifierList,pageable,count1);
}
/**
*条件查询
*/public List<User> findUserAll(Principal principal)throws ValueInvalidException, SystemErrorException {ObjectId tenancyId = getNowUserTenancyID(principal);Query query = new Query();query.addCriteria(Criteria.where("tenancy_id").is(tenancyId));return  mongoTemplate.find(query,User.class);
}


 


http://www.ppmy.cn/news/434754.html

相关文章

ZBrush - 冰雪奇缘角色建模

个人收集的一些ZBrush使用技巧&#xff0c;Elsa的角色制作&#xff1a;

魔法奇缘长发公主古堡Mac动态壁纸

魔法奇缘长发公主古堡Mac动态壁纸&#xff0c;长发公主的古堡矗立在风景秀美宜人&#xff0c;四周环水的独岛上&#xff0c;迪士尼故事中的长发公主里拥有神奇的长发&#xff0c;从小就被困在与世隔绝的古堡中。https://mac.orsoon.com/Mac/182378.html

【Python】胡渊鸣的99行代码——冰雪奇缘

14万个水&#xff0c;果冻&#xff0c;和雪“粒子” QQ录屏20210710185902 import taichi as ti import numpy as np ti.init(archti.gpu) # Try to run on GPU quality 1 # Use a larger value for higher-res simulations n_particles, n_grid 9000 * quality ** 2, 128 * …

相约北京冬奥,智慧场馆守护“冰雪奇缘”

历经2000多个日夜的筹办与期盼&#xff0c;北京冬奥会进入“百日冲刺”阶段。从2008年到2022年&#xff0c;奥林匹克运动将迎来“从高峰到高峰”的时刻。北京这个世界首座“双奥之城”将带来怎样的惊喜&#xff1f;世界在期盼中国答案。 传统的体育馆在管理和运营方面基本是人…

《冰雪奇缘》造雪花的技术,被MIT用来开发了一只软体机器人

大数据文摘出品 来源&#xff1a;MIT 编译&#xff1a;张大笔茹、武帅、宁静 一只驯鹿带着雪橇上的Anna公主和Kristoff一起奔跑&#xff0c;这是迪斯尼备受好评的动画电影《冰雪奇缘》中非常精彩的一幕&#xff1a;饥饿的狼追逐着他们穿过白雪皑皑的森林&#xff0c;Kristoff…

【机器学习】手把手用AI算法实现冰雪奇缘中的“冰雪魔法”

大家好&#xff0c;相信一定有很多的小伙伴看过动漫电影《冰雪奇缘》~ 《冰雪奇缘》讲述的是在一个四面环海、风景如画的阿伦黛尔王国&#xff0c;公主艾莎天生具有制造冰雪的超能力&#xff0c;将任何的场景转眼变成“冰天雪地”般的特效&#xff0c;十分的神奇。 感觉的每次到…

用python画雪花形状_python海龟画图制作的漂亮的下雪场景动画效果冰雪奇缘

以下是部分代码预览: """本程序模拟雪花下雪效果,有一个漂亮的序幕,窗口会越放越大...""" from turtle import * from time import sleep def make_snow_shape(length): """定义米字型的形状&#xff0c;然后注册到形状列表…

个推数说中国42年冬奥史,可视化演绎冰雪奇缘

2月20日&#xff0c;第二十四届冬奥会在北京圆满闭幕。本届冬奥会&#xff0c;中国体育代表团创造了多项记录&#xff0c;取得了9金4银2铜的冬奥参赛史最佳战绩&#xff01; 从1980年初次征战冬奥会&#xff0c;到1992年取得首枚冬奥会奖牌&#xff0c;再到今年中国成功占据冬奥…