zoukankan      html  css  js  c++  java
  • mongodb 学习笔记 3 --- 查询

    在mongodb的查询中可以通过使用如下操作符进行深度查询

    1.条件操作符

    $gt  $gte : >  >=   {"age":{"$gt":18}}

    $lt   $lte:   <  <=   

    $or : 或  {"$or":[{"name":"jack"},{"name":"mike"}]}

    $in/$nin : 在集合中/不在集合中  {"age":{"$in":[18,20]}}

    $and: 且 用法同$or

    $not:  非  {"name":{"$not":"jack"}}

    $mod: 取模   {"age":{"$mod":[5,1]}}   选出除以5余数得1的结果   

    $exists:  查询时附加该键值是否存在   {"name":{"$exists":true}}

    $all: 查询的集合包含条件中全部的内容,但是是无序的  {"name":{"$all":["jack","mike"]}}  中招的可能是 name:["mike","jack","mary"]   ,也有 name:["miky","mike","jack"] 

    $size: 查询出限定属性下长度值为给出的size的数组  {"list":{"$size":2}}

    $slice: 取值正负数字,返回多少条文档  {"list":{"$slice":2}}

    $elemMatch : 在查询数组时限定取值条件  {"list":{"$elemMatch":{"$gt":10,"$lt":20}}}   如果不加 $elemMatch 则会匹配到 list:[5,25]  因为5<20  25>10  只能应用在数组类型的属性中

    $where :  会执行一段js {"$where":function(){return ...}}

    除了操作符之外,还有游标操作辅助查询

    2.游标操作

    next: 遍历游标,并将其取出游标,在shell中执行一次后默认后面全部执行,最终会导致游标结果集为空

    hasNext: 检查游标是否为空

    forEach: 遍历,和js数组中的forEach功效一致

    limit: 取返回结果的前n个,不足n个全部返回

    skip: 跳过返回结果的前n个

    sort: 根据返回结果中的某一字段进行排序 1 升序  -1 降序

    一些总结

    要避免使用skip跳过大量数据

  • 相关阅读:
    ubuntu安装后要做什么
    JavaScript错误处理
    jQuery 事件
    display的用法
    百度排名的原理
    什么是ajax?
    CSS文档流
    引用CSS的方法
    jQuery的安装方式
    禁止WPS2019开机自启动
  • 原文地址:https://www.cnblogs.com/JhoneLee/p/9204601.html
Copyright © 2011-2022 走看看