MongoDB入门5——查询(一)

来源:未知 责任编辑:智问网络 发表时间:2013-10-22 19:28 点击:
1.find()查询
 
        在之前的学习中没我们其实已经很多次的接触过find()查询。基本上来说,find查询是比较简单明了的。find()的第一个参数决定了需要查询的文档的特征,如果该参数为空,则查询结果会匹配一个集合中所有的文档。例如:
 
 
db.coll.find({});  
db.coll.find(); 
 
db.coll.find({});
db.coll.find();        如果要查询姓名为张三的人:
 
 
db.coll.find({"name":"张三"});  
 
db.coll.find({"name":"张三"});        如果要查询姓名为张三,年龄30岁的人的信息:
 
 
db.coll.find({"name":"张三","age":30}); 
 
db.coll.find({"name":"张三","age":30});        依次类推啦。
        有时候并不一定需要将整个文档中所有的信息都查询出来,这就类似于SQL中的select语句的功能。那么可以通过find()的第二个参数指定需要返回的信息。例如,我们只关心姓名信息,可以这么写:
 
 
db.colls.find({},{"name":1}); 
 
db.colls.find({},{"name":1});        此外,如果有很多键值对,需要排序某些,则可以采取下面的写法:
 
db.colls.find({},{"name":0}); 
 
db.colls.find({},{"name":0});        默认情况下,如果不显示的排除_id,它是会被查询出来的。此外,还需要说明的是,查询条件中键值对中的“值”的内容必须是常量,也就是说,类似下面的写法是不允许的:
 
db.stock.find({"in":"this.out"}); 
 
db.stock.find({"in":"this.out"});
 
 
 
2.查询中的比较操作
        共有以下几个比较操作符:$lt、$lte、$gt、$gte,分别对应<、<=、>、>=。使用也很简单。例如,要查询年龄在20-30岁之间的人的信息,可以这么写:
 
db.person.find({"age":{"$gte":20,"$lte":30}}); 
 
db.person.find({"age":{"$gte":20,"$lte":30}});        对于!=操作,对应的比较操作符是$ne,它的使用方法也是很显而易见的。
3.查询中的逻辑运算
        AND操作并没有特别的操作符,只需要将多个查询条件以逗号隔开即可。OR运算则有专门的操作符$or。假设我们想查询年龄为20或者名字叫Sam的人的信息,可以这样:
 
db.person.find("$or":[{"age":20},{"name":"Sam"}]); 
 
db.person.find("$or":[{"age":20},{"name":"Sam"}]);        对于!运算,有对应的$not操作符,它可以使用在任何的条件之上,查询年龄不是20岁的人的信息:
 
db.person.find("$not":{"age":20}); 
 
db.person.find("$not":{"age":20});
   
参考书:
 
《MongoDB:The Definitive Guide》
 
 
 

摘自 wawlian说
    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • Request.ServerVariables 参数大全
    • 执行全文索引时出现权限不足的解决方法
    • 导入excel文件处理流程节点的解决方案
    • 查看sql修改痕迹(SQL Change Tracking on Table)
    • App数据层设计及云存储使用指南
    • PostgreSQL启动过程中的那些事三:加载GUC参数
    • MongoDB安装为Windows服务方法与注意事项
    • Percolator与分布式事务思考(二)
    • 写给MongoDB开发者的50条建议Tip1
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1