mongodb操作

£可爱£侵袭症+ 提交于 2019-12-29 05:13:35

mongodb 的分页查询:

   public  List<NoticeSentRecordDto> select(NoticeSelectInfo noticeSelectInfo){
        Query query = new Query().with(new Sort(Sort.Direction.DESC, "createTime"));
        if (noticeSelectInfo.getCurrPage() != null && noticeSelectInfo.getPageSize() != null) {
            query.skip((noticeSelectInfo.getCurrPage()-1)*noticeSelectInfo.getPageSize())
                    .limit(noticeSelectInfo.getPageSize());
        }
        query.addCriteria(Criteria.where("isDeleted").is(0));
        if(!StringUtils.isEmpty(noticeSelectInfo.getType())){
            query.addCriteria(Criteria.where("type").is(noticeSelectInfo.getType()));
        }
        return template.find(query, NoticeSentRecordDto.class);
    }

查询个数:

template.count(query,NoticeSentRecordDto.class);根据id修改一条记录,并返回:
 public  NoticeSentRecordDto selectOne(NoticeSelectInfo noticeSelectInfo){
        Query query = new Query();
        query.addCriteria(Criteria.where("_id").is(noticeSelectInfo.getId()));
        Update update = new Update().set("isRead", true);
        template.updateFirst(query, update, NoticeSentRecordDto.class);
        return template.findOne(query, NoticeSentRecordDto.class);
    }

  

设置mongobd 表保留的文档数:

       MongoDB有两种集合能实现比较类似的功能。
一种是TTL(Time To Live)集合,mongod会自动删除过期的文档。
http://docs.mongodb.org/manual/tutorial/expire-data/
另一种是capped集合,该集合是一个固定大小的集合,当该集合存满数据时,mongod会自动通过覆盖最旧的文档来存放新的文档。
http://docs.mongodb.org/manual/core/capped-collections/

创建固定集合coll_testcapped,大小限制为1024个字节,文档数量限制为100。

db.createCollection("coll_testcapped2",{capped:true,size:1024,max:100});https://www.cnblogs.com/xxcn/p/10183104.html
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!