常用查询:

查询一条数据

精确匹配is

Query(Criteria.where("id").is(id));

模糊匹配regex

Criteria criteria = new Criteria();
Pattern pattern = Pattern.compile("^.*" + keyword + ".*$", Pattern.CASE_INSENSITIVE);
criteria.orOperator(Criteria.where("name").regex(pattern),
Criteria.where("phone").regex(pattern),
Criteria.where("nickname").regex(pattern));
query.addCriteria(criteria);

查询子元素集合:image.id

Query query = new Query();
query.addCriteria(Criteria.where("image.id").is(imageId));

gte: 大于等于,lte小于等于...

注意查询的时候各个字段的类型要和mongodb中数据类型一致

query.addCriteria(Criteria.where("create").gte(d1).lte(d2));

查询字段不存在的数据not

query.addCriteria(Criteria.where("age").not());

查询数量:

long total = mongoTemplate.count(query, Project.class);

常用更新

更新第一条数据的一个字段:

mongoTemplate.updateFirst(new Query(Criteria.where("id").is(id)),
Update.update("name", "张三123"), User.class);

更新一条数据的多个字段:

//调用更新
Update update = new Update();
update.set("key123", "123");
update.set("key1234", "1234");
update.set("key1235", "1235");
mongoTemplate.updateMulti(new Query(Criteria.where("id").is(id)), update, User.class);

常用删除

删除:

mongoTemplate.remove(new Query(Criteria.where("id").is(id)), User.class);

mongDB的常用操作总结的更多相关文章

  1. node操作mongdb的常用函数示例

    node操作mongdb的常用函数示例 链接数据库 var mongoose = require('mongoose'); //引用数据库模块 mongoose.connect('mongodb:// ...

  2. 【三】用Markdown写blog的常用操作

    本系列有五篇:分别是 [一]Ubuntu14.04+Jekyll+Github Pages搭建静态博客:主要是安装方面 [二]jekyll 的使用 :主要是jekyll的配置 [三]Markdown+ ...

  3. php模拟数据库常用操作效果

    test.php <?php header("Content-type:text/html;charset='utf8'"); error_reporting(E_ALL); ...

  4. Mac OS X常用操作入门指南

    前两天入手一个Macbook air,在装软件过程中摸索了一些基本操作,现就常用操作进行总结, 1关于触控板: 按下(不区分左右)            =鼠标左键 control+按下        ...

  5. mysql常用操作语句

    mysql常用操作语句 1.mysql -u root -p   2.mysql -h localhost -u root -p database_name 2.列出数据库: 1.show datab ...

  6. nodejs配置及cmd常用操作

    一.cmd常用操作 1.返回根目录cd\ 2.返回上层目录cd .. 3.查找当前目录下的所有文件dir 4.查找下层目录cd window 二.nodejs配置 Node.js安装包及源码下载地址为 ...

  7. Oracle常用操作——创建表空间、临时表空间、创建表分区、创建索引、锁表处理

    摘要:Oracle数据库的库表常用操作:创建与添加表空间.临时表空间.创建表分区.创建索引.锁表处理 1.表空间 ■  详细查看表空间使用状况,包括总大小,使用空间,使用率,剩余空间 --详细查看表空 ...

  8. python 异常处理、文件常用操作

    异常处理 http://www.jb51.net/article/95033.htm 文件常用操作 http://www.jb51.net/article/92946.htm

  9. byte数据的常用操作函数[转发]

    /// <summary> /// 本类提供了对byte数据的常用操作函数 /// </summary> public class ByteUtil { ','A','B',' ...

随机推荐

  1. x220 OS X 10.10.4安装

    变色龙安装过程: 1.使用磁盘助手将按照盘写入独立的磁盘分区(AF格式,就是Apple的HPS格式): 2.安装启动时,用-v -f -x参数,分别为显示信息.重新build系统驱动.安全模式: 3. ...

  2. linux配置nodeJs环境教程

    来自阿里云:https://help.aliyun.com/document_detail/50775.html

  3. 带图形桌面的CentOS7----中安装VMWareTools以及支持中文输入

    主机是WIN10操作系统 安装VMWareTools的方法:https://jingyan.baidu.com/article/e8cdb32b136ad637052bad26.html 在图形化Ce ...

  4. 我的Python分析成长之路8

    Numpy数值计算基础 Numpy:是Numerical Python的简称,它是目前Python数值计算中最为基础的工具包,Numpy是用于数值科学计算的基础模块,不但能够完成科学计算的任而且能够用 ...

  5. Django中模板查找路径配置

  6. 【01】blockqote美化

    [01]blockqote美化   <!DOCTYPE html> <html lang="zh-cn"> <head> <meta ch ...

  7. [uiautomator篇] python uiautomatorDemo

    #coding=utf-8 """ @version: 1.0 @author: @prerequisite: based on Python 2.7 @usage: 1 ...

  8. [android篇]声明权限

    要实施您自己的权限,必须先使用一个或多个 <permission> 元素在 AndroidManifest.xml 中声明它们. 实际上,在开发过程中,当我们使用了某些系统特性的功能,且此 ...

  9. TOJ 5021: Exchange Puzzle

    5021: Exchange Puzzle  Time Limit(Common/Java):1000MS/3000MS     Memory Limit:65536KByteTotal Submit ...

  10. 学习iis工作原理

    文章:IIs工作原理 文章:Asp.Net 构架(Http Handler 介绍) - Part.2