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)的更多相关文章

  1. mongodb 基本指令学习

    启动 : 1)创建一个文件夹存放mongodb的数据  启动的时候指定这个文件夹为存储mongodb的存储路径  我的目录是D:\data 2)启动mongodb服务  进入安装mongodb的bin ...

  2. ARM指令学习,王明学learn

    ARM指令学习 一.算数和逻辑指令 1— MOV 数据传送指令    2.— MVN 数据取反传送指令    3.— CMP 比较指令    4.— CMN 反值比较指令    5.— TST 位测试 ...

  3. Vue学习之路8-v-on指令学习简单事件绑定之属性

    前言 上一篇文章以v-on指令绑定click事件为例介绍了v-on指令的使用方法,本文介绍一下v-on绑定事件的一些属性的使用方法. v-on绑定指令属性 .stop属性 阻止单击事件继续向上传播(简 ...

  4. Vue学习之路7-v-on指令学习之简单事件绑定

    前言 在JavaScript中任何一个DOM元素都有其自身存在的事件对象,事件对象代表事件的状态,比如事件在其中发生的元素.键盘按键的状态.鼠标的位置和鼠标按钮的状态等.事件通常与函数结合使用,函数不 ...

  5. angularjs学习第七天笔记(系统指令学习)

    您好,接着在昨天对简单指令学习了解以后,今天开始学习了解angularjs中的系统指令 系统指令大部分都是以ng开始,这也是为什么在自定义指令命名时不要以ng开始的原因所在 系统指令在学习了分成两个部 ...

  6. 2017-2018-3 20155337《信息安全系统设计基础》 pwd指令学习

    2017-2018-3 20155337<信息安全系统设计基础> pwd指令学习 任务要求 学习pwd指令 研究pwd实现需要的系统调用(man -k:grep),写出伪代码 实现mypw ...

  7. mongodb常用命令学习笔记

    mongodb常用命令学习笔记 创建数据库 use DATABASE_NAME eg: use users; 如果数据库不存在,则创建数据库,否则切换到指定数据库.要显示刚刚创建的数据库,需要向数据库 ...

  8. mongodb的入门学习

    mongodb的入门学习 简介: MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库 ...

  9. 4.Android-adt安卓打包过程、adb指令学习

    本章学习adt安卓打包过程.adb指令学习.并通过adb将打包的APK发给设备 1.打包 在eclipse中已经帮我们实现打包了. 具体打包流程如下: 最终一个APK包含了如下: classes.de ...

随机推荐

  1. js 事件捕获与事件冒泡例子

    http://codepen.io/huashiyiqike/pen/qZVdag addEventListener 默认是冒泡阶段执行,也就是父亲与子都监听时,点击子,子先处理,父亲再处理,这时加s ...

  2. Ajax实现提交表单时验证码自动验证(原创自Zjmainstay)

    本文通过源码展示如何实现表单提交前,验证码先检测正确性,不正确则不提交表单,更新验证码. 1.前端代码 index.html <!DOCTYPE html> <html> &l ...

  3. Ext JS 6 入门学习资料大全(2016-12-14)

    现在 sencha touch已经升级为 Ext JS 6 了重新整理下资料 官方网站:https://www.sencha.com/ 在线文档:http://docs.sencha.com/extj ...

  4. 如何准备PMP考试?

    东西在精,而不在多.话不多说,干货如下: 1.参加培训,不要持续时间太长,通常情况下3个月时间足够了:许多和我一起参加培训的学员,有时候准备6个月时间,反而没有3个月冲刺的时间考试结果好. 2.培训老 ...

  5. 将main方法打成jar包,并引用第三方的maven jar包

    一.准备工作.执行命令 学习插件: 学习apache的打包插件maven-assembly-plugin:http://maven.apache.org/plugins/maven-assembly- ...

  6. SEO优化之Title 和 Meta 标签

    对搜索引擎最友好(Search Engine Friendly)的网页是静态网页,但大部分内容丰富或互动型网站都不可避免采用到相关技术语言来实现内容管理和交互功能.SEO 思想指导下的技术支持,主要是 ...

  7. Asp.net Mvc4 使用Cas单点登录

    因项目需要,使用了耶鲁大学的Cas单点登录方案,在java中使用一直正常,但是在.Net中碰到了循环重定向的问题,反复测试后,总算解决了,最终的配置如下: <?xml version=" ...

  8. ruby -- 问题解决(一)无法连接mysql数据库

     >rails g controller home index  运行该命令时无法连接mysql 先下载配置文件:mysql-connector-c-noinstall-6.0.2-win32. ...

  9. 使用的 SQL Server 版本不支持数据类型“datetime2”的错误解决方法

    THE VERSION OF SQL IN USE DOES NOT SUPPORT DATATYPE ‘DATETIME2′ 主要错误原因,在使用ado.net entity的时候,entity使用 ...

  10. 编写高质量JS代码的68个有效方法(十)

    *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...