MongoDB之高级查询

本文详细介绍了MongoDB中的高级查询方法,包括统计查询、分页、排序、复杂条件查询及组合查询。通过实例展示了如何使用count、limit、skip、sort等方法进行数据处理,以及如何运用正则表达式、比较运算符、in/nin、and/or进行条件筛选。
摘要由CSDN通过智能技术生成

高級查詢

統計查詢

  • 使用count方法
  db.collection.count(query,options)
  • 舉例
    • 統計所有的記錄數

    db.collection.count()

    • 按條件統計記錄數

    db.collection.count({userid:‘1’})

分頁查詢

  • limit()讀取指定數量的數據,skip()跳過指定數量的數據
  • 舉例
    • 只返回三條數據

    db.collection.find().limit(3)

    • 前n個不要,返回後面的數據

    db.collection.find.skip(n)

    • 分頁(每頁2個,第二頁開始),也就是跳過前兩個,只取兩個

    db.collection.find().skip(2).limit(2)

排序

  • sort方法指定排序的字段,使用1和-1指定排序的方式,1是升序

db.collection.find().sort({key:1})

  • skip(),limit(),sort()一起的時候,執行順序是sort,skip,limit

正則複雜條件查詢

  • mongodb的模糊查詢是通過正則表達式的方式來實現的

db.collection.find({field:/正則表達式/})

  • 舉例(字段a中包含b內容的數據)

db.collection.find({a:/b/})

  • 舉例(字段a中以b開頭的數據)

db.collection.find({a:/^b/})

比較查詢

db.collection.find({field:{KaTeX parse error: Expected 'EOF', got '}' at position 9: gt:value}̲}) //大於:field >…lt:value}}) //小於:field < value
db.collection.find({field:{KaTeX parse error: Expected 'EOF', got '}' at position 10: gte:value}̲}) //大等於:field …lte:value}}) //小等於:field <= value
db.collection.find({field:{$ne:value}}) //不等於:field != value

包含查詢

  • 使用 i n 操 作 符 , 不 包 含 的 話 使 用 in操作符,不包含的話使用 in,使nin操作符
  • 舉例
    • a字段包含b和c的數據

    db.collection.find(a:{$in:[b,c]})

    • a中不包含b和c的數據

    db.collection.find(a:{$nin:[b,c]})

條件連接查詢

  • 使用 a n d 操 作 符 , 格 式 為 and操作符,格式為 and,and[{},{}]
  • 使用 o r 操 作 符 , 格 式 為 or操作符,格式為 or,or[{},{}]
  • 舉例
    • a中包含b和c且d包含f的

    db.collection.find(KaTeX parse error: Expected '}', got 'EOF' at end of input: and:[a:{in:[b,c]},d:{$in:[f]}])

    • a中包含b和c或d包含f的

    db.collection.find(KaTeX parse error: Expected '}', got 'EOF' at end of input: or:[a:{in:[b,c]},d:{$in:[f]}])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值