本篇文章探讨了大数据技术之Mongodb查询命令,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入。
一、find命令简介及初探
在mongodb中的查询使用的是find()命令。他2个参数,第一个参数是你的查询条件(默认为{}表示查询所有),第二个参数是指定你要返回的键(默认为{}表示返回所有)。下面我们将详解find()命令:初始数据:db.user.save({name:"zhangsan",age:26,sex:"women",num:[1,2,4],height:164})
db.user.save({name:"lisi",age:22,sex:"man",num:[2,3,4],height :null})
db.user.save({name:"wangwu",age:29,sex:"man"})
a.查询user集合中所有的数据:db.user.find(),其实db.user.find()是db.user.find({})的简写,看着方便,舒服。
b.查询name为lisi而且age为22的文档:db.user.find({name:"lisi",age:22});
c.从返回的结果指定的返回键,查询name为lisi且只返回age键:db.user.find({name:"lisi"},{age:1}),但是你会发现"_id"这个键总是会返回回来,即使你没指定也一样,你可以使用{"_id":0}来不让其返回,如db.user.find({name:"lisi"},{age:1,"_id":0}).
d.指定返回结果中不希望有某些个键,如查询name为lisi只不返回age这个键:db.user.find({name:"lisi"},{age:0}),其实和上一条差不多,只是相反。
在这里不得不说的就是findOne命令:他表示只返回结果中的第一条数据,如:
db.user.findOne();
二、深入了解find()里的各种查询
$lt,$lte,$gt,$gte(条件句):他们分别对应的是:,>=。
例:查询年龄在22到26岁(含)之间的数据:db.user.find({age:{$gte:22,$lte:26}})
$ne:ne也就是not equal ,说白点就是不等于。
例:查询年龄不等于22的数据:db.user.find({age:{$ne:22}})