zoukankan      html  css  js  c++  java
  • query更多的筛选用法

    比较操作符
    $eq : =    写法:db.class0.find({age:{$eq:18}},{name:1,_id:0}); 查找年龄等于18
    $lt :<
    $lte : <=
    $gt : >   db.class0.find({age:{$gt:17,$lt:20}},{name:1,_id:0}); 查找大于17且小于20
    $gte: >=
    $ne : !=
    $in : 包含    db.class0.find({age:{$in:[17,19]}},{name:1,_id:0}); 查找17和19的年龄
    $nin: 不包含

    逻辑操作符:
    $and 逻辑与
     1. 在query如果写多个条件默认即为and关系
      db.class0.find({age:{$lt:18},sex:{$eq:"w"}},{_id:0});
     2.逻辑与$and
      db.class0.find({$and:[{age:{$lt:18}},{sex:"w"}]},{});
    $or 逻辑或
     查找年龄小于17或大于19的数据
      db.class0.find({$or:[{age:{$lt:17}},{age:{$gt:19}}]},{});
    $not 逻辑非
     查找性别不为男的
      db.class0.find({sex:{$not:{$eq:"m"}}},{});
    $nor 既不也不
     姓别既不能是男,年龄也不小于18
      db.class0.find({$nor:[{sex:{$eq:"m"}},{age:{$lt:18}}]},{});
    $all 查找数组同时包含多项文档
     查找同时包含49, 67的文档
      db.class1.find({score:{$all:[49,67]}},{_id:0})
    $size 通过数组个数来进行查找
     查找分数域中的文档个数为2
      db.class1.find({score:{$size:2}},{_id:0})
    $slice 跳过第n个,显示m个
     显示m个
      db.class1.find({},{_id:0,score:{$slice:m}})
     跳过第n个,显示m个
      db.class1.find({},{_id:0,score:{$slice:[n,m]}}) 
    $exists 通过某个域是否存在筛选
     查找sex域不存在的文档
      db.class1.find({sex:{$exists:false}},{_id:0})
    $mod 余数查找
     找出年龄为双数的文档
      db.class1.find({age:{$mod:[2,0]}})
    $type 找出指定数据类型的文档
     找出age域值类型为1的文档
      db.class1.find({age:{$type:1}},{_id:0})

  • 相关阅读:
    C语言学习代码〈二〉
    C语言学习笔记<三 >
    C语言学习笔记<一 >
    C语言学习代码〈四〉
    C语言学习代码〈三〉
    C语言学习笔记<五>
    C语言学习笔记<四>
    C语言学习笔记<二 >
    C语言学习代码<一> .
    周末练习
  • 原文地址:https://www.cnblogs.com/zengsf/p/9676686.html
Copyright © 2011-2022 走看看