MongoDB学习笔记<四>
今天继续学习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}})
这次先到这,下次继续,游标与排序.
最新文章
- java-方法练习
- hibernate中的cascade和inverse
- C# <;%@ Register %>;指令
- 2015-10-27 js
- mysql主配置文件my.cnf详细说明
- Mybatis上路_05-使用命令行自动生成
- PHP函数十进制、二进制、八进制和十六进制转换
- ASP.NET 4.0升级至ASP.NET 4.5需要注意的地方 【转】
- Delphi XE2 升级项目编译ralease版本,无法添加UAC解决方法
- 物联网操作系统HelloX开发人员入门指南
- windows使用nginx+memcached实现负载均衡和session或者缓存共享
- xCAT在多卡的物理机上装rhel6当需要人工选择网卡
- Servlet3.0注解@WebInitParam和@WebServlet
- Python基础:数据类型-数字(5)
- String StringBuffer StringBulider 详细看https://www.cnblogs.com/su-feng
- ubuntu下安装go环境
- 用树莓派改装电风扇及实现Android遥控
- hanlp源码解析之中文分词算法详解
- Druid + Grafana 应用实践
- 微信小程序开发(三)项目目录及文件结构