MongoDB高级操作(2)
查询方法-常用查询方法
比较运算符
# 查询年龄大于或等于18, 并且性别为true的学生
db.stu.find({age:{$gte:18},gender:true})
# 查询年龄大于18, 或性别为false的学生
db.stu.find({$or:[{age:{$gt:18}},{gender:false}]})
# 查询年龄大于18或性别为女生, 并且家乡为大理
db.stu.find({$or:[{age:{$gt:18}}, {gender:false}], hometown:'大理'})
范围运算符
#查询年龄为18或20的学生
db.stu.find({age:{$in:[18,20]}})
#查询年龄为不为18或20的学生
db.stu.find({age:{$nin:[18, 20]}})
正则表达式
# 查询姓黄的学生
db.stu.find({name:/^黄/})
db.stu.find({name:{$regex:'^黄'}})
limit和skip
# 查询2条学生信息
db.stu.find().limit(2)
# 跳过两个学生,查询后面的
db.stu.find().skip(2)
# 混合使用
# 查询学生信息跳过3个学生, 再查询2个学生
db.stu.find().limit(2).skip(3)
db.stu.find().skip(3).limit(2)
自定义查询
# 查询年龄大于30的学生
db.stu.find({$where:function(){ return this.age > 30;}})
投影
# 查询所有学生,按年龄升序
db.stu.find().sort({age:1})
# 查询所有学生,按年龄降序
db.stu.find().sort({age:-1})
# 查询所有学生先根据性别降序, 再根据年龄升序
db.stu.find().sort({gender:-1, age:1})
# 查询男生的个数
db.stu.find({gender:true}).count()
db.stu.count({gender:true})
统计年龄大于20的男生的个数
db.stu.count({age:{$gt:20}, gender:true})
去重
# 查询学生的家乡,不能重复
db.stu.distinct('hometown')
# 查询年龄大于20的学生的家乡, 不能重复
db.stu.distinct('hometown', {age:{$gt:20}})
MongoDB高级操作(2)的更多相关文章
- mongodb高级操作及在Java企业级开发中的应用
Java连接mongoDB Java连接MongoDB需要驱动包,个人所用包为mongo-2.10.0.jar.可以在网上下载最新版本. package org.dennisit.mongodb.st ...
- MongoDB高级操作
参考MongoDB菜鸟教程 一.$type操作符 MongoDB 中可以使用的类型如下表所示: 类型 数字 备注 Double 1 String 2 Object 3 Array 4 ...
- mongodb 高级操作
聚合 aggregate 聚合(aggregate)主要用于计算数据,类似sql中的sum().avg() 语法 db.集合名称.aggregate([{管道:{表达式}}]) 管道 管道在Unix和 ...
- SpringMVC整合Mongodb开发,高级操作
开发环境: 操作系统:windows xpMongodb:2.0.6依 赖 包:Spring3.2.2 + spring-data-mongodb-1.3.0 + Spring-data-1.5 + ...
- mongodb常用操作语句
mongodb常用操作语句 A:创建数据表 db.createCollection(name, {capped: <Boolean>, autoIndexId: <Boolean&g ...
- MongoDB高级查询用法大全
转载 http://blog.163.com/lgh_2002/blog/static/440175262012052116455/ 详见官方的手册: http://www.mongodb.org/d ...
- DataBase MongoDB高级知识
MongoDB高级知识 一.mongodb适合场景: 1.读写分离:MongoDB服务采用三节点副本集的高可用架构,三个数据节点位于不同的物理服务器上,自动同步数据.Primary和Secondary ...
- Mongodb高级查询【二】
上一篇文章,写了mongodb常规操作,继续写入,本章主要讲高级查询,文本,聚集,大数据查询. Mongodb的查询语法是很多的,是NOSQL队伍中比较丰富的一个.当然有很多查询跟关系型查询无法相比. ...
- mongoDB高级查询$type4array使用解析
今天在使用mongoDB高级查询$type:符号 -- 4代指Array类型发现一个问题. $type符号: $type操作符是基于BSON类型来检索集合中匹配的数据类型,并返回结果. 下面是mong ...
随机推荐
- js 正则表达式验证密码、邮箱格式.....
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- scrapy (四)基本配置
scrapy使用细节配置 一.建立项目 1.scrapy startproject 项目名字 2.进入项目: scrapy genspider 名字 不带http的根网址 3.默认模板(或改变模板) ...
- Android 自定义底部公用菜单
注释:此案例主要展示自定义底部菜单,一处封装处处调用.使用起来相当方便 一.初始的Activity package com.example.myapi.buttommenu; import andro ...
- day13,day14
day13 迭代器 什么是迭代器? 迭代:是一个重复的过程,每一次重复,都是基于上一次的结果而进行的 器:迭代取值的工具 为何要用迭代器? 迭代器提供了一种通用的不依赖于索引的迭代取值方式 如何用迭代 ...
- 评定星级的前端显示js
五颗星的星级评定: 说明:假设是利用三种图片显示星级评定,即 1.满亮的星 2.半亮的星星 3.不亮的星星: 满分是5分:(此处当然可以作为一个参数可变 函数传入参数grade表示当前分值. func ...
- Delphi 7~XE系列升级安装Indy10.6
由于低版本Indy无法满足网络技术的日益更新,如SSL/TLS请求.RawHeaders与Cookie管理等问题处理. 我本身一直在用Delphi 2007,因为D2009开始底层的编码已不同,旧项目 ...
- 20155327 2017-2018-2《Java程序设计》课程总结
20155327 2017-2018-2<Java程序设计>课程总结 每周作业链接汇总 预备作业1:我期望的师生关系,对课程的展望:https://www.cnblogs.com/l97- ...
- lm393
电压比较芯片,供电电压和输出电压一致.
- Eclipse中Svn插件配置
1. Svn插件配置教程 http://www.cnblogs.com/ruiati/p/3584120.html 2. Svn插件使用教程 http://wenku.baidu.com/link?u ...
- 4、Docker数据管理
一.挂载类型 1.volumes Docker管理宿主机文件系统的一部分(/var/lib/docker/volumes).保存数据的最佳方式. 使用场景:将容器中的数据持久化到宿主机,比如容器是my ...