zoukankan      html  css  js  c++  java
  • mongodb 查询

    --多条件查询。下面的示例等同于SQL语句的where name = "stephen" and age = 35
        > db.test.find({"name":"stephen","age":35})
        { "_id" : ObjectId("4fd58ecbb9ac507e96276f1a"), "name" : "stephen", "age" : 35, "genda" : "male", "email" : "stephen@hotmail.com" }
     
        --返回指定的文档键值对。下面的示例将只是返回name和age键值对。
        > db.test.find({}, {"name":1,"age":1})
       { "_id" : ObjectId("4fd58ecbb9ac507e96276f1a"), "name" : "stephen", "age" : 35 }

        --指定不返回的文档键值对。下面的示例将返回除name之外的所有键值对。
        > db.test.find({}, {"name":0})
        { "_id" : ObjectId("4fd58ecbb9ac507e96276f1a"), "age" : 35, "genda" : "male", "email" : "stephen@hotmail.com" }
     
        MongoDB提供了一组比较操作符:$lt/$lte/$gt/$gte/$ne,依次等价于</<=/>/>=/!=。
        --下面的示例返回符合条件age >= 18 && age <= 40的文档。
        > db.test.find({"age":{"$gte":18, "$lte":40}})
        { "_id" : ObjectId("4fd58ecbb9ac507e96276f1a"), "name" : "stephen", "age" : 35,"genda" : "male", "email" : "stephen@hotmail.com" }
     
        --下面的示例返回条件符合name != "stephen1"
        > db.test.find({"name":{"$ne":"stephen1"}})
        { "_id" : ObjectId("4fd58ecbb9ac507e96276f1a"), "name" : "stephen", "age" : 35,"genda" : "male", "email" : "stephen@hotmail.com" }
     
        --$in等同于SQL中的in,下面的示例等同于SQL中的in ("stephen","stephen1")
        > db.test.find({"name":{"$in":["stephen","stephen1"]}})
        { "_id" : ObjectId("4fd58ecbb9ac507e96276f1a"), "name" : "stephen", "age" : 35,"genda" : "male", "email" : "stephen@hotmail.com" }  
     
        --和SQL不同的是,MongoDB的in list中的数据可以是不同类型。这种情况可用于不同类型的别名场景。
        > db.test.find({"name":{"$in":["stephen",123]}})
        { "_id" : ObjectId("4fd58ecbb9ac507e96276f1a"), "name" : "stephen", "age" : 35,"genda" : "male", "email" : "stephen@hotmail.com" } 
     
        --$nin等同于SQL中的not in,同时也是$in的取反。如:
        > db.test.find({"name":{"$nin":["stephen2","stephen1"]}})
        { "_id" : ObjectId("4fd58ecbb9ac507e96276f1a"), "name" : "stephen", "age" : 35,"genda" : "male", "email" : "stephen@hotmail.com" }
     
        --$or等同于SQL中的or,$or所针对的条件被放到一个数组中,每个数组元素表示or的一个条件。
        --下面的示例等同于name = "stephen1" or age = 35
        > db.test.find({"$or": [{"name":"stephen1"}, {"age":35}]})
        { "_id" : ObjectId("4fd58ecbb9ac507e96276f1a"), "name" : "stephen", "age" : 35,"genda" : "male", "email" : "stephen@hotmail.com" } 
     
        --下面的示例演示了如何混合使用$or和$in。
        > db.test.find({"$or": [{"name":{"$in":["stephen","stephen1"]}}, {"age":36}]})
        { "_id" : ObjectId("4fd58ecbb9ac507e96276f1a"), "name" : "stephen", "age" : 35,"genda" : "male", "email" : "stephen@hotmail.com" } 
     
        --$not表示取反,等同于SQL中的not。
        > db.test.find({"name": {"$not": {"$in":["stephen2","stephen1"]}}})
        { "_id" : ObjectId("4fd58ecbb9ac507e96276f1a"), "name" : "stephen", "age" : 35,"genda" : "male", "email" : "stephen@hotmail.com" }

  • 相关阅读:
    多字段截取然后验证 js
    web端上传图片,截取证件照
    bootstrap学习
    响应式网站设计心得
    不懂这几个问题就落后了:Python、Android开发者必读!
    这48个Java技术点,让你的面试成功率提升5倍!
    C++之父谈C++:一天之内你就能学会出色使用C++
    常用正则表达式
    解决vs验证控件报错” WebForms UnobtrusiveValidationMode 需要“jquery”ScriptResourceMapping。请添加一个名为 jquery (区分大小写)的 ScriptResourceMapping”问题
    怎么就那么难啊我去
  • 原文地址:https://www.cnblogs.com/sddychj/p/6559870.html
Copyright © 2011-2022 走看看