MongoDB语法学习

MongoDB官方文档

mongodb语法有很多,如多列索引,查询时可以统计函数,支持多条件查询,但是目前对于多表的查询是暂不支持的,但是可以通过数据冗余来解决多表查询的问题。

查询Tb_Customer所有数据
        db.Tb_Customer.find() //select * from Tb_Customer

通过指定条件查询
        db.Tb_Customer.find({‘name': ‘luo'});//select * from Tb_Customer where name='luo'

指定多条件查询
        db.Tb_Customer.find( { x : 3, y : "lei" } );//select * from Tb_Customerwhere x=3 and y='lei'

指定条件范围查询
        db.Tb_Customer.find({j: {$ne: 5}, k: {$gt: 15} });//select * from Tb_Customer where j!=5 and k>15

查询不包括某内容
        db.Tb_Customer.find({}, {a:0});//查询除a为0外的所有数据

支持<, <=, >, >=查询,需用符号替代 ,分别为:$lt,$lte,$gt,$gte
        db.Tb_Customer.find({ “field” : { $gt: value } } ); 
        db.Tb_Customer.find({ “field” : { $lt: value } } ); 
        db.Tb_Customer.find({ “field” : { $gte: value } } );
        db.Tb_Customer.find({ “field” : { $lte: value } } );

也可对某一字段做范围查询
        db.Tb_Customer.find({ “field” : { $gt: value1, $lt: value2 } } );

不等于查询用字符$ne
        db.Tb_Customer.find( { x : { $ne : 5 } } );

in查询用字符$in
        db.Tb_Customer.find( { “field” : { $in : array } } );
        db.Tb_Customer.find({j:{$in: [2,4,6,8]}});

not in查询用字符$nin
        db.Tb_Customer.find({j:{$nin: [2,4,6,8]}});

取模查询用字符$mod
        db.Tb_Customer.find( { a : { $mod : [ 10 , 1 ] } } )// where a % 10 == 1

$all查询
        db.Tb_Customer.find( { a: { $all: [ 2, 3 ,5] } } );//指定a满足数组中任意值时

$size查询
        db.Tb_Customer.find( { a : { $size: 1 } } );//对对象的数量查询,此查询查询a的子对象数目为1的记录

$exists查询
        db.Tb_Customer.find( { a : { $exists : true } } ); // 存在a对象的数据
        db.Tb_Customer( { a : { $exists : false } } ); // 不存在a对象的数据

$type查询 $type 值为bsonhttp://bsonspec.org/数 据的类型值
        db.Tb_Customer.find( { a : { $type : 2 } } ); // 匹配a为string类型数据
        db.Tb_Customer.find( { a : { $type : 16 } } ); // 匹配a为int类型数据

LIKE模糊查询name包含AB字母的数据(%AB%)
     SELECT * FROM Tb_Customer WHERE name LIKE "%AB%"
     db.Tb_Customer.find({name:/AB/})

LIKE模糊查询name以字母AB开头的数据(AB%)。
     SELECT * FROM Tb_CustomerWHERE name LIKE "AB%"
     db.Tb_Customer.find({name:/^AB/})

内嵌对象查询
        db.Tb_Customer.find( { “author.name” : “joe” } );

sort()排序
        db.Tb_Customer.find().sort( { ts : -1 } );//1为升序2为降序

limit()对限制查询数据返回个数
        db.Tb_Customer.find().limit(10)

skip()跳过某些数据
        db.Tb_Customer.find().skip(10)

count()统计查询对象个数
        db.Tb_Customer.find({}).count();//效率较高
        db.Tb_Customer.find({}).toArray().length;//效率较低

group()对查询结果分组和SQL中group by函数类似
    distinct()返回不重复值

MongoDB语法学习相关推荐

  1. MongoDB开发学习开天辟地,经典入门

    如果你从来没有接触MongoDB或对MongoDB有一点了解,如果你是C#开发人员,那么你不妨花几分钟看看本文.本文将一步一步带您轻松入门. 阅读目录 一:简介 二:特点 三:下载安装和开启服务器 四 ...

  2. Mongodb使用学习笔记(二)

    文章目录 Mongodb使用学习笔记(二)之查询篇 1. MongoDB命令学习 (1) MongoDB 查询文档 1.1 全部查询 1.2 单条件查询 1.3 多条件查询 1.3.1 AND拼接多条 ...

  3. 双刃剑MongoDB的学习和避坑

    双刃剑MongoDB的学习和避坑 MongoDB 是一把双刃剑,它对数据结构的要求并不高.数据通过key-value的形式存储,而value的值可以是字符串,也可以是文档.所以我们在使用的过程中非常方 ...

  4. Python基础语法学习笔记

    Python基础语法学习笔记 想淘宝省钱看我简介,博客www.liangxin.name (一) 一.Print()函数 1.数字可以直接输出,无需加引号 只能理解数字,却读不懂文字.因为数字和数学运 ...

  5. [转]verilog语法学习心得

    verilog语法学习心得 1.数字电路基础知识: 布尔代数.门级电路的内部晶体管结构.组合逻辑电路分析与设计.触发器.时序逻辑电路分析与设计 2.数字系统的构成: 传感器  AD  数字处理器  D ...

  6. [转载]MongoDB开发学习 经典入门

    如果你从来没有接触MongoDB或对MongoDB有一点了解,如果你是C#开发人员,那么你不妨花几分钟看看本文.本文将一步一步带您轻松入门. 阅读目录 一:简介 二:特点 三:下载安装和开启服务器 四 ...

  7. mongodb语法与spring实现

    mongodb语法 参考文档:https://docs.mongodb.com/manual/reference/ BSON Types BSON Type有2种标识符,整形和字符串 类型 数值 字符 ...

  8. ElasticSearch聚合语法学习(bucket,metric,hitogram,date hitogram)

    ElasticSearch聚合语法学习 目录 bucket与metric两个核心概念 插入数据 统计哪种颜色电视销量最高 统计每种颜色电视平均价格 bucket嵌套实现颜色+品牌的多层下钻 统计每种颜 ...

  9. ElasticSearch搜索语法学习(term,filter,bool,terms,range)

    ES搜索语法学习 目录 原始数据 term,filter使用 bool组合多个filter条件来搜索数据 terms搜索多个值以及多值搜索结果优化 基于range filter来进行范围过滤 手动控制 ...

最新文章

  1. 【C#串口编程计划】C#串口协议解析 -- 二进制数据
  2. vue与react组件的思考
  3. 诺顿360“偷偷”挖矿被怒喷,杀毒软件手伸向GPU,官方:都是为了用户好
  4. linux unbuntu屏幕显示不完整,解决 NetBeans 在 Gnome3 显示不全的问题
  5. java yml 转 map_如何在Java中将YAML转换为JSON?
  6. cmap参数 plt_Matplotlib入门-5-plt.scatter( )绘制散点图
  7. Linux 临时表空间满了,Temporary表空间100%解决方案
  8. LeetCode 1249. 移除无效的括号(栈+set / deque)
  9. COCO 数据集格式及mmdetection中的转换方法
  10. Hbase导入、导出数据到本地文件
  11. Lua-pb 升级到Lua5.3
  12. UPS输出连接要求IEC C320 C13,输入连接要求(6)IEC 320 C14
  13. 华为手机字体改简体_华为手机字体怎么更换简体
  14. matlab如何拟合方程,如何用MATLAB拟合曲线来求参数?
  15. poi-tl导出word出错
  16. 品牌国际传播第一步:谁是最重要的人?| 直播活动预告
  17. 抖音xlog算法 bqq 以及各个参数的解释以及如何突破风控注册账号和点赞关注
  18. 数据结构国际象棋中的马跳棋盘问题
  19. 牛顿-莱布尼茨公式的运用
  20. CSS实现图片高斯模糊效果

热门文章

  1. LeetCode——7. Reverse Integer
  2. 统计进仓和出仓数量随时间变化的剩余数量流程图
  3. hdu 5748(LIS) Bellovin
  4. Underscore.js Version (1.2.3) 中文文档
  5. 为对抗训练的理论工作添砖加瓦:选择核心子集进行训练,大大缩短训练时间...
  6. 人大提出新模型,将Two Stage的Video Paragraph Captioning变成One Stage,性能却没下降...
  7. 药盒识别/垃圾分类—高精度AI模型训练及边缘部署分享
  8. CVPR2021-RSTNet:自适应Attention的“看图说话”模型
  9. 字节跳动AI Lab招聘算法工程师,含全职和实习
  10. 南加州大学等开源元学习研究库learn2learn