mongodb 基本指令学习 (2)
db.collectionname.find(<criteria>, <projection>)
<criteria> 可选 类型 文档 文档的过滤条件
<projection> 可选 类型 文档 对结果进行字段的匹配 {字段1:<booleadn>,字段2:<boolean>...} (也就是第二个参数能控制我们在过滤条件下结果字段的显示)
当我们不提供任何参数的时候,就是查询整个文档
下面的例子对结果字段进行了匹配
上面的例子我们首先选择了id为2的文档,并且在结果中我们只想要对bigname进行显示
好奇的你 一定会这么做
能不能显示id不显示bigname这个字段呢 duangduangduang 报错了 意思是你不能将包含和不包含字段的写法融合在一起(排除_id 这个mongodb提供的_id能是实现包含和不包含融合在一起) 上例子
也就是当我们只想要一列的时候 我们可以通过上面的方式 多列的时候就多几个类的参数为1 或者我们只想要一列不显示的时候设置一列的参数为0
并且在db.collectionname.find() 后面还可以加一些 查询游标的方法 例如 limit()限制结果集数量 skip()跳过一定的条目,返回结果集 sort() 排序
首先我在数据库中插入了许多id不同的数据 测试上面几个游标方法
上面的使用sort()的游标 属性的值为1的时候是升序 属性值是-1 的时候是降序
or的用法
$lt | < |
$lte | <= |
$gt | > |
$gte | >= |
$in | in |
$nin | not in |
$ne | != |
参照上面的几个操作符 ,我们进行几个查找操作
匹配null 这个是查询不存在该字段的文档值
like查询
注意最下面的两条就是通过like查询出来了 只有前匹配或者后匹配的情况下 就要将不进行匹配的进行转移
上面的例子是后匹配的like
在这里添加一个关于collection的操作 db.collectionname.count() 查询数据集的文档数量
where 查询
db.collectionname.count(<query>) 符合query的条目数
db.collectionname.remove(<query>,justone) justone 布尔值 为true的时候只删除一个文档
首先当我们想要删除一个collection中所有的文档的时候 db.collection.remove({}) 这里必须提供一个空的对象 实现全部删除的目的
当我们不提供第二个参数的时候,默认为false 就是从文档中删除所有匹配query的项
mongodb 数组查询
文档的结构中是可以存储数组的 那我们怎么实现数组的查询呢?
如果你提供的key值后面的value值是一个数组的话 当你提供的value在存储的key的value值的数组中时 mongodb就是返回我们需要的结果
上面我们发现有一条文档记录的value值并不是数组 也就是mongodb的find()的方法既能匹配数组的值 也能匹配单一的值 上面的例子是会匹配所有name的值包含a的数组的文档或者name的值是a的文档
匹配特定的数组 (其实这个没有什么特别 只是列出来 跟下面的作对比)
我们要匹配包含一部分的数组的值的时候呢 也就是匹配数组的一部分值
根据数组的元素的长度进行匹配
向数组内添加值
$push 这个操作只能对一个value是数组的文档项使用 如果不存在该key的值 创建数组项
$pushAll push后面的参数就是要添加到数组中的值 如果它是一个数组那么就在数组中添加一个数组 $pushAll 是同时将多个值添加到数组中 其中的每一个项一次添加到数组中
(区分它们两个就是一个和多个的区别)
$pop 当后面的值是1的时候删除最后一个数组项 后面的值是-1的时候删除第一个数组项
$pull 从数组中删除一个特定的值
$pullAll 从数组中删除多个值
上面的例子中有两个相同的值 可以看见它们都被删除了
2016.4.20 批量的插入数据
指令 mongoimport 启动mongodb 在控制台进入bin目录 输入 mongoimport --db dbname --collection collectionname --file fileurl -jsonArray
通过上面的指令就mongo就能读取json文件将数据批量的插入到数据库中(dbname 和 collectionname 不存在的时候 会自动的创建)
2016 5 14
刚遇到一个问题 就写在这里 是关于mongodb的
我强制关闭了monggodb后 发现再次启动mongodb的时候显示unclear shutdown detected 是因为强制关闭后,会导致数据不一致性或者数据损坏,所以必须手动修复
修复的时候指定数据存放的位置,这样就能正确的启动mongodb了
mongodb 基本指令学习 (2)的更多相关文章
- mongodb 基本指令学习
启动 : 1)创建一个文件夹存放mongodb的数据 启动的时候指定这个文件夹为存储mongodb的存储路径 我的目录是D:\data 2)启动mongodb服务 进入安装mongodb的bin ...
- ARM指令学习,王明学learn
ARM指令学习 一.算数和逻辑指令 1— MOV 数据传送指令 2.— MVN 数据取反传送指令 3.— CMP 比较指令 4.— CMN 反值比较指令 5.— TST 位测试 ...
- Vue学习之路8-v-on指令学习简单事件绑定之属性
前言 上一篇文章以v-on指令绑定click事件为例介绍了v-on指令的使用方法,本文介绍一下v-on绑定事件的一些属性的使用方法. v-on绑定指令属性 .stop属性 阻止单击事件继续向上传播(简 ...
- Vue学习之路7-v-on指令学习之简单事件绑定
前言 在JavaScript中任何一个DOM元素都有其自身存在的事件对象,事件对象代表事件的状态,比如事件在其中发生的元素.键盘按键的状态.鼠标的位置和鼠标按钮的状态等.事件通常与函数结合使用,函数不 ...
- angularjs学习第七天笔记(系统指令学习)
您好,接着在昨天对简单指令学习了解以后,今天开始学习了解angularjs中的系统指令 系统指令大部分都是以ng开始,这也是为什么在自定义指令命名时不要以ng开始的原因所在 系统指令在学习了分成两个部 ...
- 2017-2018-3 20155337《信息安全系统设计基础》 pwd指令学习
2017-2018-3 20155337<信息安全系统设计基础> pwd指令学习 任务要求 学习pwd指令 研究pwd实现需要的系统调用(man -k:grep),写出伪代码 实现mypw ...
- mongodb常用命令学习笔记
mongodb常用命令学习笔记 创建数据库 use DATABASE_NAME eg: use users; 如果数据库不存在,则创建数据库,否则切换到指定数据库.要显示刚刚创建的数据库,需要向数据库 ...
- mongodb的入门学习
mongodb的入门学习 简介: MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库 ...
- 4.Android-adt安卓打包过程、adb指令学习
本章学习adt安卓打包过程.adb指令学习.并通过adb将打包的APK发给设备 1.打包 在eclipse中已经帮我们实现打包了. 具体打包流程如下: 最终一个APK包含了如下: classes.de ...
随机推荐
- UNIX环境高级编程笔记之线程
本章涉及到线程的一些基本知识点,讨论了现有的创建线程和销毁线程的POSIX.1原语,此外,重点介绍了线程同步问题,讨论了三种基本的同步机制:互斥量.读写锁.条件变量.
- Oracle数据库入门——物化视图日志结构
物化视图的快速刷新要求基本必须建立物化视图日志,这篇文章简单描述一下物化视图日志中各个字段的含义和用途. 物化视图日志的名称为MLOG$_后面跟基表的名称,如果表名的长度超过20位,则只取前20位,当 ...
- HP P1008打印机如何打印特殊纸张
一.问题的提出 HP P1008中间有一个进纸槽,这是干什么的? 二.问题的分析 查说明,说这个进纸槽是叫做优先进纸槽,用于各种非常规的纸张的打印. 三.问题的解决 弄一张特殊尺寸的纸张,打开要编辑的 ...
- [转]make: 警告:检测到时钟错误。您的创建可能是不完整的。
转自http://blog.csdn.net/maopig/article/details/6599660 我在make的时候也出现了同样的问题,不过不是什么大问题,这个不影响编译结果 分析原因可能是 ...
- 【原创】试用十天被Pass所带来的启示
试用十天被Pass所带来的启示 招聘是门学问,很多人在研究,也有很多方案,不过面对人员难聘问题,很多方法又不灵了.于是我们采用了降低标准方案,扩招进来一些人员,于是问题又来了,想不想听我亲身经历的 ...
- Windows Storage Server 2008 R2 Standard(64位)之ASM(Automated Storage Manager)管理
一.服务器管理器之LUN管理 服务器管理器的LUN管理,右键可删除(注意别删了系统分区在的LUN) 二.ASM(Automated Storage Manager) view 高级信息,请不要修改相关 ...
- Marvel – 将图像和源文件转换成互动,共享的原型
Marvel 是一款非常简单的工具,将图像和设计源文件转换成互动,共享的原型,无需任何编码.原型可以通过点击几下鼠标就创建出来,能工作在任何设备上的浏览器,包括移动设备,台式机.Marvel 的一个特 ...
- Xcode-打开代码折叠带
preferences --> Text Editing --> 打勾Code folding ribbon
- css中zoom和transform:scale的区别
css中zoom和transform:scale的区别 关于zoom: 以前只是看到别人的代码中用过zoom,自己从未使用过,今天在探究ie7兼容inline-block时,发现里面提到了zoom.下 ...
- String-------RegularHelper
/// <summary> /// 正则表达式相关方法集合 /// </summary> public static class RegularHelper { private ...