下面是mongoDb简单的增删改查(新闻类)

附:query.addCriteria(Criteria.where("modelId").ne("").ne(null));  //非空
    query.with(new Sort(new Order(Direction.DESC, "ct")));  //倒叙

多个字段排序:第一排序按照sort降序,第二排序按照ct降序
    query.with(new Sort(Direction.DESC, "sort").and(new Sort(Direction.DESC,"ct")));

public class NewsHelpService {

    @Resource
private MongoTemplate mongoTemplate; //add
public void insert(NewsHelp newsHelp) { mongoTemplate.insert(newsHelp); } //select
public Pagination<NewsHelp> findNewsHelpAll(String type, String title, String id, Integer pageNo,
Integer pageSize) { // QueryPage page = QueryPage.build(pageNo, pageSize);
MandoAssert.notNull(type, "类型不能为空"); Criteria criteria = Criteria.where("type").is(type);
if (title!=null) {
Pattern pattern = Pattern.compile(title, Pattern.CASE_INSENSITIVE); //模糊查询
criteria.andOperator(Criteria.where("title").regex(pattern));
}
if (id!=null) {
criteria.andOperator(Criteria.where("id").is(id));
}
Query query = BasicQuery.query(criteria); long total = mongoTemplate.count(query, NewsHelp.class);
Pagination<NewsHelp> newsHelps = new Pagination<NewsHelp>(pageNo, pageSize); int skip = (pageNo-1)*pageSize;
if (pageSize<1) {
query.skip(skip);// skip相当于从那条记录开始
query.limit(pageSize);// 从skip开始,取多少条记录
}
List<NewsHelp> datas = mongoTemplate.find(query, NewsHelp.class); newsHelps.setData(datas);//获取数据 newsHelps.setTotal((int)total); return newsHelps;
} //selectOne
public NewsHelp findNewsHelp(String id) { Query query = BasicQuery.query(Criteria.where("id").is(id)); NewsHelp newsHelp = mongoTemplate.findOne(query, NewsHelp.class);
return newsHelp;
} // update 新闻类
public void updateNewsHelp(NewsHelp help) {
MandoAssert.notNull(help.getId(), "ID不能为空");
Update update = new Update(); if(null!=help.getTops()){
update.set("tops", help.getTops());
}
if(StringUtils.isNotEmpty(help.getTitle())){
update.set("title", help.getTitle());
}
if(StringUtils.isNotEmpty(help.getContent())){
update.set("content", help.getContent());
}
update.set("modifyDate", new Date()); mongoTemplate.updateMulti(Query.query(Criteria.where("id").is(help.getId())),update,NewsHelp.class); } //delete
public void delNewsHelp(List<String> ids) { ids.stream().forEach(id -> {
Query query = BasicQuery.query(Criteria.where("id").is(id)); mongoTemplate.findAndRemove(query, NewsHelp.class);
});
} }

偶遇晨光原创

下面会讲解一下springMVC+mongodb配置

springMVC操作mongoDB增删改查的更多相关文章

  1. MongoDB(六)java操作mongodb增删改查

    java操作mysql数据库的代码我们已经了如指掌了.增删改查,java对mongodb数据库也是类似的操作,先是数据库连接.再是进行操作. 首先我们进入进入admin数据库.然后建立自己的数据库te ...

  2. MongoDB - 增删改查及聚合操作

    目录 MongoDB - 增删改查及聚合操作 一. 数据库操作(database) 1. 创建及查看库 2. 删除库 二. 集合collectionc=操作(相当于SQL数据库中的表table) 1. ...

  3. 数据库——MongoDB增删改查

    MongoDB增删改查操作 本文包含对数据库.集合以及文档的基本增删改查操作 数据库操作 #1.增 use config #如果数据库不存在,则创建并切换到该数据库,存在则直接切换到指定数据库. #2 ...

  4. 使用python操作XML增删改查

    使用python操作XML增删改查 什么是XML? XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输 ...

  5. js操作indexedDB增删改查示例

    js操作indexedDB增删改查示例 if ('indexedDB' in window) { // 如果数据库不存在则创建,如果存在但是version更大,会自动升级不会复制原来的版本 var r ...

  6. MySQL数据分析(16)— 数据操作之增删改查

    前面我们说学习MySQL要从三个层面,四大逻辑来学,三个层面就是库层面,表层面和数据层面对吧,数据库里放数据表,表里放数据是吧,大家可以回忆PPT中jacky的这图,我们已经学完了库层面和表层面,从本 ...

  7. Redis简单的数据操作(增删改查)

    #Redis简单的数据操作(增删改查): 字符串类型 string 1. 存储: set key value 127.0.0.1:6379> set username zhangsan OK 2 ...

  8. MongoDB基础入门002--基本操作,增删改查

    一.这里只是演示最基本的操作,更多的信息可以去官网.https://docs.mongodb.com/manual 打开一个cmd,输入mongo命令打开shell,其实这个shell就是mongod ...

  9. 2. MongoDB基本操作 —— 用Mongo.exe操作数据库增删改查

    一.开篇 传统的关系数据库一般由数据库(database).表(table).记录(record)三个层次概念组成,MongoDB是由数据库(database).集合(collection).文档对象 ...

随机推荐

  1. C++ STL算法系列2---find ,find_first_of , find_if , adjacent_find的使用

    一.find运算 假设有一个int型的vector对象,名为vec,我们想知道其中是否包含某个特定值. 解决这个问题最简单的方法时使用标准库提供的find运算: 1 // value we'll lo ...

  2. Ubuntu下Speedtest的安装

    要安装Speedtest,需要先安装apache,参见<Ubuntu下Apache的安装>一文:*(再安装LAMP server,参见<Ubuntu下快速安装LAMP server& ...

  3. app转让遇到的坑

    家人共享的一部分 首先我们要符合app转让的一些基本规定,填写正确的信息去申请转让.(google会有很多正确的转让步骤),这里我就不多写出来了. 当接收到接受app的时候会出现一些想不到的问题. 其 ...

  4. cassandra CQL 3.0 怎样实现 dynamic column;

    1. cassandra有一个好的特点是列之间可以按照column key进行排序:这样当rowkey确定以后,对于同一个“行”的范围(range query)查找是很方便的:官方说法,每一个“行”( ...

  5. Sed是个好东西

    今天遇到的源码使用了变态的宏,直接对参数进行宏处理,使得我的vim插件几乎全废,只能想办法将宏给替换进去. #!/bin/bash find . -type f -name '*.c' | xargs ...

  6. option对象概念

    一.基础理解: var e = document.getElementById("selectId");   e.options = new Option("文本&quo ...

  7. Directory的GetFiles方法

    想实现一个功能 :比如多个业务审批流程公用一个审批表的时候,有一个提示审批信息的页面 ,点击该页面不同的业务审批流程记录的时候,跳转到不同业务流程的详细显示界面 额 这样说 貌似以后我自己也看不明白 ...

  8. php:上传多个文件

    <?php class upload {    public $files;    public $seterror;    public $allowtype;    public $file ...

  9. sublimetext 使用正则表达式匹配中文

    [\x{4e00}-\x{9fa5}] ============================================= 参考资料 1.在javascript下正确的\x4e00-\x9fa ...

  10. How do you build a database?

    在reddit上看到的一篇讲解数据库实现的文章,非常有意思,在这里记录一下. 回答者technical_guy: Its a great question, and deserves a long a ...