继续mongodb的学习:

9.mongodb条件查询

假设有user集合,里面结构如下:
{ "_id" : ObjectId("52ab35d281181f85326409da"), "uname" : "jiangwang", "pwd" : 1
23456, "age" : 111 }
{ "_id" : ObjectId("52ab35d281181f85326409db"), "uname" : "jiangwang", "pwd" : 1
23456, "age" : 12 }
{ "_id" : ObjectId("52ab35d281181f85326409dc"), "uname" : "jiangwang", "pwd" : 1
23456, "age" : 24}
{ "_id" : ObjectId("52ab35d281181f85326409dd"), "uname" : "jiangwang", "pwd" : 1
23456, "age" : 111 }
{ "_id" : ObjectId("52ab35d281181f85326409de"), "uname" : "jiangwang", "pwd" : 1
23456, "age" : 112 }
{ "_id" : ObjectId("52ab35d281181f85326409de"), "uname" : "jiangwang", "pwd" : 1
23456, "age" : null }
{ "_id" : ObjectId("52ab35d281181f85326409de"), "uname" : "jiangwang", "pwd" : 1
23456 }

db.user.find({age:24}); //查找test集合中age等于24的行
db.user.find({age:{$lt:30,$gt:20}}); //查找test集合中age字段20到30之间的行
db.user.find({age:{$ne:24}}; //查找user集合中age不等于24的行

$lt表示litter than,小于
$gt表示greater than,大于
$lte表示litter than or equal, 小于等于
$gte表示greater than or equal,大于等于
$ne表示not equal, 不等于

db.user.find({age:{$exists:true}}); //查找存在age的行
db.user.find({age:{$ne:24,$exists:true}}); //查找age存在并且不等于24的行

db.user.find({age:null}); //查找age不存在或者为null的行
db.user.find({age:{$in:[null],$exists:true}}); //查找age存在并且为null的行

$in表示包含
db.user.find({age:{$in:[24,112]}}); //查找age在24或112的值

db.user.find({age:{$nin:[24,112]}}); //查找age除24,112以外的值

$nin表示不在范围中

//正则表达式查询, 正则表达式以/.../格式
db.user.find({name:/jiang.*/}); //查找name以jiang开头的行
db.user.find({name:{$not:/jiang.*/}}); //查找name不以jiang开头的行

db.user.count(); //统计行数
db.user.skip(1).limit(1); //跳过第一条,从第二条开始显示一行

db.user.find().sort({age:1});//按照年龄升序排列
db.user.find().sort({age:-1});//按照年龄降序排列

10.mongodb的存储过程
mongodb也提供了存储过程,使用js写,需要保存到system.js集合中
例如,将下面这个求和的js函数做成一个存储过程:
function add(x,y){
return x+y;
}

//保存mongodb的存储过程
db.system.js.save({_id:"add",value:function(x,y){return x+y;}});
//利用存储过程计算结果
db.eval('add(1,2)');

//也可以直接写函数
db.eval(function() {return 1+1;});

mongodb的常用操作(二)的更多相关文章

  1. mongodb的常用操作

    对于nosql之前工作中有用到bekerlydb,最近开始了解mongodb,先简单写下mongodb的一些常用操作,当是个总结: 1.mongodb使用数据库(database)和集合(collec ...

  2. 【mongodb系统学习之八】mongodb shell常用操作

    八.mongodb  shell常用基础操作(每个语句后可以加分号,也可以不加,看情况定(有的工具中可以不加),最好是加): 1).进入shell操作界面:mongo,上边已有演示: 2).查看当前使 ...

  3. Python脚本控制的WebDriver 常用操作 <二> 关闭浏览器

    下面将模拟一个WebDriver关闭浏览器的操作 测试用例场景 在一个自动化测试脚本运行完毕后,我们很可能会采取关闭浏览器的操作,而关闭浏览器的常用操作有如下两种: close quit close  ...

  4. MongoDB的常用操作总结

    简介 MongoDB是一款强大.灵活.且易于扩展的通用型数据库 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统. 在高负载的情况下,添加更多的节点,可以保证服务器性能. ...

  5. mongodb的常用操作(三)

    继续mongodb的学习和总结: 11.mongodb的mapreduce功能 mapreduce可以说是mongodb的一个很强大的功能,可以实现复杂的运算和统计,做一个简要的总结: 假设有user ...

  6. MongoDB之常用操作

    最近经常使用MongoDB来进行数据的操作,特此记录总结一下

  7. mac 安装mongodb与常用操作

    1.安装 brew update brew install mongodb 2.启动mongo mongod --config /usr/local/etc/mongod.conf 3.启动 mong ...

  8. Python脚本控制的WebDriver 常用操作 <二十> 处理表单元素

    测试用例场景 表单对象的操作比较简单,只需要记住下面几点 使用send_keys方法往多行文本框和单行文本框赋值: 使用click方法选择checkbox 使用click方法选择radio 使用cli ...

  9. Python脚本控制的WebDriver 常用操作 <二十八> 超时设置和cookie操作

    超时设置 测试用例场景 webdriver中可以设置很多的超时时间 implicit_wait.识别对象时的超时时间.过了这个时间如果对象还没找到的话就会抛出异常 Python脚本 ff = webd ...

随机推荐

  1. iOS 10 推送必看(高阶1)

    来源:徐不同 链接:http://www.jianshu.com/p/3d602a60ca4f iOS10 推送必看(基础篇) 虽然这篇文章比较长,也不好理解,但是还是建议大家收藏,以后用到的时候,可 ...

  2. Xcode 8 用处不大的新特性:CLANG_WARN_INFINITE_RECURSION

    来源:酷酷的哀殿 链接:http://www.jianshu.com/p/067f4674f75f Xcode 8 的 clang 新的警告控制,当所有路径都通过一个函数都调用自身时,会产生一个警告 ...

  3. 【Shell脚本学习1】Shell简介:什么是Shell,Shell命令的两种执行方式

    Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的.Shell既是一种命令语言,又是一种程序设计语言.作为命令语言,它交互式地解释 ...

  4. 【Android 界面效果23】LayoutInflater作用及使用

    作用:  1.对于一个没有被载入或者想要动态载入的界面, 都需要使用inflate来载入. 2.对于一个已经载入的Activity, 就可以使用实现了这个Activiyt的的findViewById方 ...

  5. 《MFC游戏开发》笔记六 图像双缓冲技术:实现一个流畅的动画

    本系列文章由七十一雾央编写,转载请注明出处.  http://blog.csdn.net/u011371356/article/details/9334121 作者:七十一雾央 新浪微博:http:/ ...

  6. 一:Html基本结构

    1:什么是Html(HTML 概念)? Html是 HyperText mark-up Language 的缩写,意思是:超文本标记语言 2.HTML的发展史? 1991年:出现Html1.0(不存在 ...

  7. Kali linux 2016无法打开virtualbox问题解决

    Kali Linux在安装完virtualbox后,打开虚拟机会出现:kernel driver not installed (rc=1908)错误提示,根据提示,大概可以看出是由于缺少内核模块引起的 ...

  8. Umbraco(1) - Document Types(翻译文档)

    Document Types Data first nothing in = nothing out! 任何网站的第一步是创建一个"Document Type"-几次安装后你会熟悉 ...

  9. linux中crontab和at

    1. Red Hat的发行版本中,通常还可以使用工具ntsysv设置服务的自启动状态. #类似chkonfig 服务名 on|off 2.系统服务脚本目录:/etc/init.d 3.ps: -a:显 ...

  10. oracle查看允许的最大连接数和当前连接数等信息

    目前总结的语句,在查看数据的连接情况很有用 ,写完程序一边测试代码一边查看数据库连接的释放情况有助于分析优化出一个健壮的系统程序来. 1.Sql代码1.select count(*) from v$p ...