今天继续学习MongoDB的相关知识,主要包含例如以下:

--find具体解释

--分页与排序

--游标和其它知识

1.指定返回的键

db.person.find({},{"_id":0,"name":1,"country":1})这样就仅仅把name键和country键查询出来了,注意其它的假设不写默认不显示,可是假设_id假设不写,默认是显示的.

2.查询条件

db.person.find({"age":{$gte:25,$lte:27}},{"_id":0,"name":1,"country":1})查询年龄在25-27岁之间的学生的name和country.

db.person.find({"country":{$ne:"Korea"}},{"_id":0,"Math":1})查询全部不是韩国学生的数学成绩

3.包括或不包括

$in 或 $nin

db.person.find({"country":{$in:["USA","China"]}},{"_id":0,"Math":1})查询国籍是美国或者中国的学生数学成绩

db.person.find({"country":{$nin:["USA","China"]}},{"_id":0,"Math":1})查询国籍不是美国或者中国的学生的数学成绩

4.or查询

$or

db.person.find({$or:[{"Chinese":{$gt:85}},{"English":{$gt:90}}]},{"_id":0,"name":1,"Chinese":1,"English":1})查询语文成绩大于85或者英语吧成绩大于90的学生信息

5.正则查询

db.person.find({name:/li/i},{"_id":0,"name":1})查询出名字中含有"li"的学生的姓名

6. $not的使用

db.person.find({name:{$not:/li/i}},{"_id":0,"name":1})查询出名字中不含有"li"的学生的姓名

注意:$not和$nin的差别在于:$not能够用在不论什么地方,而$nin仅仅能够用在集合上

7.数组查询$all和index应用

查询喜欢看MongoDB和JS这两本书的学生

db.person.find({books:{$all:["MongoDB","JS"]}},{"_id":0,"name":1})

查询第二本书是 JAVA的学生信息

db.person.find({"books.1":"JAVA"})

8.查询指定长度数组size

db.person.find({"books":{$size:4}})

9.查询出jim的书籍的数量

var jim =  db.person.find("name":"jim")
while(jim.hasNext()){
obj = jim.next();
print(obj.books.length)
}

10.$slice操作符返回文档指定数组的内部值

查询出jim书架中的第2-4本书

db.person.find({"name":"jim"},{books:{$slice:[1,3]}})

查询出最后一本书

db.person.find({"name":"jim"},{books:{$slice:-1}})

这次先到这,下次继续,游标与排序.

MongoDB学习笔记<四>的更多相关文章

  1. MongoDB学习笔记(四)--索引 && 性能优化

    索引                                                                                             基础索引 ...

  2. MongoDB学习笔记(四)

    第四章 Mongodb聚合函数 插入 测试数据 for(var j=1;j<3;j++){ for(var i=1;i<3;i++){ var person={ Name:"ja ...

  3. MongoDB 学习笔记(四):索引

    一.索引的基本使用 1.建立索引 在shell中为某个key建立索引的方法为:db.集合名.ensureIndex({key:1}),其中的key表示为哪个key建立索引,1表示升序建立索引,而-1表 ...

  4. MongoDB 学习笔记(四)C# 操作MongoDB

    C#驱动对mongodb的操作,目前驱动有两种:官方驱动和samus驱动,不过我个人还是喜欢后者, 因为提供了丰富的linq操作,相当方便. 官方驱动:https://github.com/mongo ...

  5. MongoDB学习笔记(四、MongoDB安全管理)

    目录: mongoDB角色 mongoDB初始化账号 mongoDB安全认证 其它常用的命令 mongoDB角色: mongoDB初始化账号: 1.启动mongoDB ./mongod -f mong ...

  6. Mongodb学习笔记(四)管理

    一.数据导出.导入 数据导入:mongoexport ./mongoimport -d 数据库 -c 集合 文件名 数据导出:mongoimport 参数说明: -d:指明使用的库,如text -c: ...

  7. MongoDB学习笔记(五)--复制集 && sharding分片

    主从复制                                                                                       主从节点开启 主节 ...

  8. MongoDB学习笔记(三)--权限 && 导出导入备份恢复 && fsync和锁

    权限                                                                                             绑定内网I ...

  9. mongoDB 学习笔记纯干货(mongoose、增删改查、聚合、索引、连接、备份与恢复、监控等等)

    最后更新时间:2017-07-13 11:10:49 原始文章链接:http://www.lovebxm.com/2017/07/13/mongodb_primer/ MongoDB - 简介 官网: ...

随机推荐

  1. oracle的unique约束

    unique约束是唯一性约束,对于需要列类型应用程序会重复出现分歧值.您可以加入一个单独的列unique约束.能够加入多个列unique约束().假设为多个列加入一个unique约束,仅仅须要保证这多 ...

  2. FastReport扩展类

    题记: 最近有在用FastReport进行开发报表工作,当然也有在看书,突然想到可以用书中所写来实现一个fastreport的帮助类. 对于引用第三方类库,我们都会去将这个库在调用前进行相应的封装,也 ...

  3. MysqL的root用户不允许远程连接

    原文:MysqL的root用户不允许远程连接 今天程序报了异常:java.sql.SQLException: Access denied for user 'root'@'RJB-Z' (using ...

  4. Html 5 坦克大战(韩顺平县版本号)

    html 5例如,下面的代码段: <!DOCTYPE html> <html> <head> <meta charset="utf-8"/ ...

  5. HDU 1596 find the safest road (最短路)

    find the safest road Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Ot ...

  6. Windows Phone 启动器

    http://msdn.microsoft.com/zh-CN/library/gg278408(v=vs.92)#BKMK_Launchers using Microsoft.Phone.Contr ...

  7. Maven构建Hadoop

    Maven构建Hadoop工程 阅读目录 序 Maven 安装 构建 示例下载 系列索引 序 上一篇,我们编写了第一个MapReduce,并且成功的运行了Job,Hadoop1.x是通过ant来管理工 ...

  8. Robot Framework 使用1-环境配置及简单网站兼容性测试(转)

    0.Robot Framework 简介 Robot Framework 是一个通用的自动化测试框架,主要用于“验收测试”和“验收测试驱动开发(ATDD)” (会其它文章中会详细介绍ATDD).它使用 ...

  9. 8年,属于 HTML 5 春天的到来悄悄!

    [核心提示] 在 8 年时间中,HTML 5 为整个行业都带来了什么.标准终于确定后又会产生什么样的变革呢? 微博微信Twitter对于非常多人来说,非常有可能在微信的朋友圈里玩过「围住神经猫」,也非 ...

  10. Android发展Singleton模式

    这是什么Singleton模式?它是Java23之间的一种模式,在Android发展也有着广泛的应用,例Calander类别,当对象是由未创建 new Calander而是Calander.getIn ...