mongodb的常用操作(二)
继续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的常用操作(二)的更多相关文章
- mongodb的常用操作
对于nosql之前工作中有用到bekerlydb,最近开始了解mongodb,先简单写下mongodb的一些常用操作,当是个总结: 1.mongodb使用数据库(database)和集合(collec ...
- 【mongodb系统学习之八】mongodb shell常用操作
八.mongodb shell常用基础操作(每个语句后可以加分号,也可以不加,看情况定(有的工具中可以不加),最好是加): 1).进入shell操作界面:mongo,上边已有演示: 2).查看当前使 ...
- Python脚本控制的WebDriver 常用操作 <二> 关闭浏览器
下面将模拟一个WebDriver关闭浏览器的操作 测试用例场景 在一个自动化测试脚本运行完毕后,我们很可能会采取关闭浏览器的操作,而关闭浏览器的常用操作有如下两种: close quit close ...
- MongoDB的常用操作总结
简介 MongoDB是一款强大.灵活.且易于扩展的通用型数据库 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统. 在高负载的情况下,添加更多的节点,可以保证服务器性能. ...
- mongodb的常用操作(三)
继续mongodb的学习和总结: 11.mongodb的mapreduce功能 mapreduce可以说是mongodb的一个很强大的功能,可以实现复杂的运算和统计,做一个简要的总结: 假设有user ...
- MongoDB之常用操作
最近经常使用MongoDB来进行数据的操作,特此记录总结一下
- mac 安装mongodb与常用操作
1.安装 brew update brew install mongodb 2.启动mongo mongod --config /usr/local/etc/mongod.conf 3.启动 mong ...
- Python脚本控制的WebDriver 常用操作 <二十> 处理表单元素
测试用例场景 表单对象的操作比较简单,只需要记住下面几点 使用send_keys方法往多行文本框和单行文本框赋值: 使用click方法选择checkbox 使用click方法选择radio 使用cli ...
- Python脚本控制的WebDriver 常用操作 <二十八> 超时设置和cookie操作
超时设置 测试用例场景 webdriver中可以设置很多的超时时间 implicit_wait.识别对象时的超时时间.过了这个时间如果对象还没找到的话就会抛出异常 Python脚本 ff = webd ...
随机推荐
- python UTC,时间戳,字符串转换
#!/usr/bin/env python #_*_coding:utf-8_*_ # 本地时间 转换 为时间戳 import time import pytz import datetime dat ...
- java适配器模式随笔记
今天学习了一下java中的适配器模式,在这里做个记录,方便以后查看 什么是适配器,适配就是连接源到目标的中间件,简单的例子就是我们的港水货手机充电器是大三角,我们想要在大陆正常使用我们需要一个转接充电 ...
- u163是什么故障 佳能MX328 u163是什么意思?墨水打完了,我加了墨水后还是显示U163(请检查墨水-彩色)警告灯亮
U163:墨水已用完.请更换墨盒,然后关闭“扫描单元”(“机盖”).如果打印正在进行并希望继续打印,请在不取出墨盒的情况下按 [Stop] (停止) 按钮至少 5 秒. 然后可以在墨水用完的情况下继续 ...
- TaskUtil多线程与定时任务
package com.taoban.util; /** * 执行单次任务或定时任务工具类(用于减少new Thread()和new Timer()的使用) */ public class Tas ...
- ionic中的ion-content与ion-scroll
ion-content形成上下结构,上面固定,下层可滑动 首先要设置ion-content不可滑动:<ion-content class="has-subheader" sc ...
- 剑指Offer32 丑数
/************************************************************************* > File Name: 32_UglyNu ...
- 剑指Offer43 n个骰子点数概率
/************************************************************************* > File Name: 43_Dics.c ...
- FastJson的使用方法总结
本文参考:http://www.tuicool.com/articles/zUbQfa 还可参考:https://www.iflym.com/index.php/code/alibaba-fastjs ...
- 转: 58同城高性能移动Push推送平台架构演进之路
转: http://geek.csdn.net/news/detail/58738 文/孙玄 本文详细讲述58同城高性能移动Push推送平台架构演进的三个阶段,并介绍了什么是移动Push推送,为什么需 ...
- win8升级win10后的windows.old怎么删除
现在win10只是出了预览版本,还没有出正式版,但是相信一部分朋友都与小D一样,喜欢尝鲜,已上用上了win10了. 有些人是通过win8或是8.1直接安装升级上去的,这样操作是安装方便,但是系统会为了 ...