`

MongoDB入门5——查询(一)

阅读更多

1.find()查询

        在之前的学习中没我们其实已经很多次的接触过find()查询。基本上来说,find查询是比较简单明了的。find()的第一个参数决定了需要查询的文档的特征,如果该参数为空,则查询结果会匹配一个集合中所有的文档。例如:

db.coll.find({});
db.coll.find();

        如果要查询姓名为张三的人:

db.coll.find({"name":"张三"});

        如果要查询姓名为张三,年龄30岁的人的信息:

db.coll.find({"name":"张三","age":30});
        依次类推啦。

        有时候并不一定需要将整个文档中所有的信息都查询出来,这就类似于SQL中的select语句的功能。那么可以通过find()的第二个参数指定需要返回的信息。例如,我们只关心姓名信息,可以这么写:

db.colls.find({},{"name":1});
        此外,如果有很多键值对,需要排序某些,则可以采取下面的写法:
db.colls.find({},{"name":0});
        默认情况下,如果不显示的排除_id,它是会被查询出来的。此外,还需要说明的是,查询条件中键值对中的“值”的内容必须是常量,也就是说,类似下面的写法是不允许的:
db.stock.find({"in":"this.out"});

 

 

2.查询中的比较操作
        共有以下几个比较操作符:$lt、$lte、$gt、$gte,分别对应<、<=、>、>=。使用也很简单。例如,要查询年龄在20-30岁之间的人的信息,可以这么写:
db.person.find({"age":{"$gte":20,"$lte":30}});
        对于!=操作,对应的比较操作符是$ne,它的使用方法也是很显而易见的。
3.查询中的逻辑运算
        AND操作并没有特别的操作符,只需要将多个查询条件以逗号隔开即可。OR运算则有专门的操作符$or。假设我们想查询年龄为20或者名字叫Sam的人的信息,可以这样:
db.person.find("$or":[{"age":20},{"name":"Sam"}]);
        对于!运算,有对应的$not操作符,它可以使用在任何的条件之上,查询年龄不是20岁的人的信息:
db.person.find("$not":{"age":20});


    
参考书:

《MongoDB:The Definitive Guide》

 

0
0
分享到:
评论

相关推荐

    NoSQL介绍PPT

    常见NoSQLj介绍——MongoDB 常见NoSQL介绍——MongoDB 常见NoSQL介绍——MongoDB 常见NoSQL介绍——MongoDB 常见NoSQL介绍——MongoDB 常见NoSQL介绍——MongoDB 常见NoSQL介绍——MongoDB 常见NoSQL介绍——MongoDB...

    MongoRedis的源代码:《左手MongoDB,右手Redis——从入门到商业实战》

    《左手MongoDB,右手Redis——从入门到商业实战》背后的故事。 这篇文章没有代码,请放心阅读。 一个程序员的一生应该这样度过:当她回首往事的时候,她不会因为建造环境浪费时间而悔恨,也不会因为浪费而无法这样,...

    数据结构算法

    你也会(7篇)——第一篇 快速入门 MongoDB(8)8天学通MongoDB——第八天 驱动实践 8天学通MongoDB——第七天 运维技术 8天学通MongoDB——第六天 分片技术 8天学通MongoDB——第五天 主从复制 8天学通MongoDB——第四...

    搭建高可用mongodb集群(一)——配置mongodb

    近年来,NoSQL数据库已得到了长足的发展,更成为了许多机构追求性能的第一选择,而在这些技术堆栈中,MongoDB无疑是人气最高的一个,这里为大家分享高可用MongoDB集群的搭建。传统的关系数据库具有不错的性能及稳定...

    教大家8天学通MongoDB——第一天 基础入门篇

    MongoDB是目前非常流行的一种非关系型数据库(NoSQL),因其操作简单、完全免费、源码公开等特点,受到了IT从业人员的青睐,并被广泛...本文教大家8天学通MongoDB——第一天 基础入门篇,感兴趣的朋友一起来了解了解吧

    【MongoDB】数据库的基本操作01

    目录 1.1基础入门 1.1.1应用场景 1.1.2环境搭建 1.1.3MySQL和MongoDB ... Mongodb是一个内存数据库,数据都存放再内存中 非关系型数据库是一种文档型的数据库,即可以存放xml、json、bson类型的数据,数据结

    隔壁孩子10篇博客node入门而且写了一个前后端分离项目,你怎么还在睡觉!!!(五)

    ———————————————————————————————————————————————————————————— —————–今日份复习nodejs—————————- —– Mongodb数据可以介绍 —– ...

    MongoDB中javascript脚本编程简介和入门实例

    作为一个数据库,MongoDB有一个很大的优势——它使用js管理数据库,所以也能够使用js脚本进行复杂的管理——这种方法非常灵活

    App后台开发运维和架构实践

    第1 章 App 后台入门 .. 16 第2 章 App 后台基础技术 . 35 第3 章 App 后台核心技术 ....第8 章 MongoDB——App 后台新兴的数据库 .. 185 第9 章 App 后台架构剖析 .. 208 第10 章 App 后台架构的演进 255

    nosql 入门教程

    第一印象——两个简单的例子 17 2.1.1 简单的位置偏好数据集 17 2.1.2 存储汽车品牌和型号数据 22 2.2 使用多种语言 30 2.2.1 MongoDB驱动 30 2.2.2 初识Thrift 33 2.3 小结 34 第3章 NoSQL接口与交互 36 ...

    nodeapp:使用ExpressJS研究构建Rest API的项目——NodeJS

    超级测试数据库的: MongoDB入门如果我不是 nodemon,请安装项目的 nodemon 全局和本地依赖项: npm install -g nodemonnpm installnpm start运行测试npm test注意:确保 mongodb 正在运行================

    backbone源码解读

    backbone是我两年多前入门前端的时候接触到的第一个框架,当初被backbone的强大功能所吸引(当然的确比裸写js要好得多),虽然现在backbone并不算最主流的前端框架了,但是,它里面大量设计模式的灵活运用,以及令人...

    Node.js Web开发实战-(共14章)PPT.rar

    第3章 Node.js基础入门.ppt 第4章 异步编程与包管理.ppt 第5章 http模块.ppt 第6章 Web开发中的模板引擎.ppt 第7章 Node.js中的文件操作.ppt 第8章 认识express模块.ppt 第9章 MySQL数据库.ppt 第10章 Express框架....

    jobFinder:使用多种技术的演示应用程序 - NodeJS、Jade、MongoDB、Mongoose、Promises、AngularJS、Bootstrap 等

    求职者(演示) 这是一个非常简单的入门项目,是我在学习许多新的网络技术时创建的。 特别感谢plexsight的精彩教程使用Node.js 构建Web 应用程序涉及的技术本教程结合了几种新兴技术—— 节点JS 表示AngularJS 使用...

    R的极客理想:工具篇,完整扫描版

    ”, ——谢益辉 RStudio程序员, 【内容简介】, 大数据时代,R语言已成为数据分 析的利器,是挖掘数据价值必不可少的工具,截止到2014年5月,R语言的软件包有5500多个。如何使用这众多的软件包,是R语言学习者和使用...

    coffee-blog:一个非常简单的博客,在coffeescriptexpressnode.js中; 遵循 Ciaran Jessup 的优秀教程

    咖啡博客这是一个简单的演示应用程序,使用express / node.js和mongodb用coffeescript编写。 我一直在关注 Ciaran Jessup 的,但只要可行就使用咖啡脚本。入门您需要安装: (1.4.0) (0.6.1) (v0.1.91) (0.3.0) 然后...

Global site tag (gtag.js) - Google Analytics