zoukankan      html  css  js  c++  java
  • mongo-查询(2)——比较/$in/$nin/$or/$not

     

    mongo通find来查找文档。可以执行精确匹配和模糊匹配。

    2. 模糊匹配

    2.1比较

    > $gt , >= $gte, < $lt, <= $lte, != $ne

    > db.tianyc02.find()
    { "_id" : ObjectId("50ea6eba12729d90ce6e3423"), "name" : "xttt", "age" : 111 }
    { "_id" : ObjectId("50ea6eba12729d90ce6e3424"), "name" : "xttt", "age" : 222 }
    { "_id" : ObjectId("50ea6b6f12729d90ce6e341b"), "name" : "xtt", "age" : 11 }
    { "_id" : ObjectId("50ea6b7312729d90ce6e341c"), "name" : "xtt", "age" : 22 }
    > db.tianyc02.find({age:{$lt:100}})
    { "_id" : ObjectId("50ea6b6f12729d90ce6e341b"), "name" : "xtt", "age" : 11 }
    { "_id" : ObjectId("50ea6b7312729d90ce6e341c"), "name" : "xtt", "age" : 22 }
    > db.tianyc02.find({age:{$lt:100,$gt:20}})
    { "_id" : ObjectId("50ea6b7312729d90ce6e341c"), "name" : "xtt", "age" : 22 }
    > db.tianyc02.find({age:{$ne:11}})
    { "_id" : ObjectId("50ea6eba12729d90ce6e3423"), "name" : "xttt", "age" : 111 }
    { "_id" : ObjectId("50ea6eba12729d90ce6e3424"), "name" : "xttt", "age" : 222 }
    { "_id" : ObjectId("50ea6b7312729d90ce6e341c"), "name" : "xtt", "age" : 22 }

    2.2 $in & $nin

    > db.tianyc02.find()
    { "_id" : ObjectId("50ea6eba12729d90ce6e3423"), "name" : "xttt", "age" : 111 }
    { "_id" : ObjectId("50ea6eba12729d90ce6e3424"), "name" : "xttt", "age" : 222 }
    { "_id" : ObjectId("50ea6b6f12729d90ce6e341b"), "name" : "xtt", "age" : 11 }
    { "_id" : ObjectId("50ea6b7312729d90ce6e341c"), "name" : "xtt", "age" : 22 }
    > db.tianyc02.find({age:{$in:[11,22]}})
    { "_id" : ObjectId("50ea6b6f12729d90ce6e341b"), "name" : "xtt", "age" : 11 }
    { "_id" : ObjectId("50ea6b7312729d90ce6e341c"), "name" : "xtt", "age" : 22 }
    > db.tianyc02.find({age:{$nin:[11,22]}})
    { "_id" : ObjectId("50ea6eba12729d90ce6e3423"), "name" : "xttt", "age" : 111 }
    { "_id" : ObjectId("50ea6eba12729d90ce6e3424"), "name" : "xttt", "age" : 222 }

    2.3 $or

    > db.tianyc02.find({$or:[{age:11},{age:22}]})
    { "_id" : ObjectId("50ea6b6f12729d90ce6e341b"), "name" : "xtt", "age" : 11 }
    { "_id" : ObjectId("50ea6b7312729d90ce6e341c"), "name" : "xtt", "age" : 22 }
    > db.tianyc02.find({$or:[{age:11},{name:'xttt'}]})
    { "_id" : ObjectId("50ea6eba12729d90ce6e3423"), "name" : "xttt", "age" : 111 }
    { "_id" : ObjectId("50ea6eba12729d90ce6e3424"), "name" : "xttt", "age" : 222 }
    { "_id" : ObjectId("50ea6b6f12729d90ce6e341b"), "name" : "xtt", "age" : 11 }

    2.4 $not

    > db.tianyc02.find({age:{$mod:[11,0]}})
    { "_id" : ObjectId("50ea6b6f12729d90ce6e341b"), "name" : "xtt", "age" : 11 }
    { "_id" : ObjectId("50ea6b7312729d90ce6e341c"), "name" : "xtt", "age" : 22 }
    > db.tianyc02.find({age:{$not:{$mod:[11,0]}}})
    { "_id" : ObjectId("50ea6eba12729d90ce6e3423"), "name" : "xttt", "age" : 111 }
    { "_id" : ObjectId("50ea6eba12729d90ce6e3424"), "name" : "xttt", "age" : 222 }

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

    $not与正则表达式联合使用时极为有效,用来查找那些与特定模式不匹配的文档。

     
     
  • 相关阅读:
    Reactor模式
    libcurl安装
    libcurl
    http概述
    添物不花钱学JavaEE(基础篇) --HTML
    Android BGABadgeView:BGABadgeFrameLayout(5)
    添物不花钱学计算机及编程(预备篇)— 总述
    Android BGABadgeView:BGABadgeImageView以及BGABadgeRelativeLayout(4)
    Android RoundedBitmapDrawable:Android官方的圆角图形图象实现方案
    Android BGABadgeView:BGABadgeLinearLayout以整体线性布局作为BadgeView(3)
  • 原文地址:https://www.cnblogs.com/williamjie/p/9943733.html
Copyright © 2011-2022 走看看