《MongoDB权威指南》读书笔记 第四章 查询

本文介绍MongoDB的基本查询操作,包括find函数的使用、指定返回值、限制查询结果等,并详细讲解了各种查询条件如$lt、$lte、$gt、$gte、$not等的应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   查询是我们在使用数据库过程中使用最频繁的操作,掌握查询的技巧是每个合格程序员必备的素质,下面来学习一下mongodb的查询。

   一、find简介

   查询就是返回被查询集合的子集,子集的范围从0个到整个集合,find的第一个参数为查询条件,如果不设置条件则返回整个文档。

   例:db.c.find()

     db.c.find({'age':27})

         db.c.find({'age':27, 'name':'leon'}) #and 条件,意思是age为27且name为leon

 

     1、指定返回值  

      find函数的第二个参数用来设定返回字段,通过过滤不必要的字段,可以节省传输数据量及客户端解码文档的时间和内存消耗.

      例:db.user.find({}, {"username":1, "email":1}) 

       上面将会返回三个字段:_id, username, email

       _id是默认返回的,要显式过滤某字段可以把1改为0

      2、限制

      数据库所关心的查询文档的值必须是常量

二、查询条件

     1、$lt 、$lte 、$gt、  $gte

     $lt 、$lte 、$gt、  $gte 、$ne分别对应 <、<=、>、>=、!=

     例如,查询在18~30岁的用户

     db.users.find({"age":{"$gte":18, "$lte":30}})

     查义2007/1/1日前注册的人,

     start = new Date("01/01/2007")

     db.users.find({"registered":{"$lt":start}})

      

     2、OR查询

     两种方式进行OR查询。

     $in 查询一个键的多个值,与之对应的是$nin

     例:db.raffle.find({'ticket_no':{"$in":[725, 542, 390]}})

     $in只能对单个键做OR查询,多键查询要用$or.

     db.raffle.find({'$or':[{'ticket_no':75},{'winner':true}]})

     3、$not

     "$not"是元条件句,即可以用在任何其他条件之上。

     $mod 会将查询的值除以第一个给定值,若余数等于第二个给定值则返回该结果.

     4、条件句的规则

     条件句是内层文档的键,而修改器则是外层文档的键。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值