继续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. 在使用ICSharpCode.SharpZipLib进行目录压缩后,再解压缩是提示这个错误Size mismatch: 4294967295;126976 70202;126976

    在压缩代码中加入entry.CompressionMethod = CompressionMethod.Stored

  2. Frogs' Neighborhood

    Frogs' Neighborhood Time Limit: 5000MS   Memory Limit: 10000K Total Submissions: 7920   Accepted: 33 ...

  3. 1.7.5 Faceting

    1. 分面(Faceting) 分面就是将搜索结果基于索引中的terms按类整理.搜索结果带有索引的term,没有term都带有该term匹配的文档数.分面使用户更容易探究搜索结果,缩小查询结果范围以 ...

  4. Phong光照以及其他

        在说光照之前,有必要先弄清法线的变换,假设Mworld 将物体的定点一一变换到世界空间,如果我们对法线实施同样的变化,,以为能将法线变换到世界空间,但世界上变换之后的法线不再与表面垂直,就像下 ...

  5. [Java] HashMap的用法

    重点介绍HashMap.首先介绍一下什么是Map.在数组中我们是通过数组下标来对其内容索引的,而在Map中我们通过对象来对对象进行索引,用来索引的对象叫做key,其对应的对象叫做value.在下文中会 ...

  6. DataGridView显示行号的几种方法来自http://www.soaspx.com/dotnet/csharp/csharp_20100204_2740.html

    方法一: 网上最常见的做法是用DataGridView的RowPostPaint事件在RowHeaderCell中绘制行号: private void dataGridView1_RowPostPai ...

  7. 【Android 界面效果39】android:inputType问题

    1.  在XML代码中实现比较简单, 直接设置android:inputType="textMultiLine": [mw_shl_code=java,true]<EditT ...

  8. IOS缓存之NSCache缓存

    NSCache:专门做缓存的类 NSCache简介:NSCache是苹果官方提供的缓存类,用法与NSMutableDictionary的用法很相似,在AFNetworking和SDWebImage中, ...

  9. Float精度 在JS的解决方法

    最近在做一个工资核算的系统,所有的运算全部在前台进行,因此用了的是JS来做. 做完以后,经手工核算,发现一个奇怪的问题.就是JS算出来的结果跟用计算器算出来的结果有差距. 想了很久,也没有想出问题出在 ...

  10. hdu 3594 仙人掌图

    思路:利用它的几条性质 #include<set> #include<map> #include<cmath> #include<queue> #inc ...