zoukankan      html  css  js  c++  java
  • MongoDB 逻辑操作符与字段操作符

    包含与不包含:in、nin

    > db.accounts.find({"name":{$in:["alice2"]}}).pretty()
    { "_id" : "account1", "name" : "alice2", "balance" : 100 }
    {
     "_id" : ObjectId("5d7f43abaecbd2bc0fa821b7"),
     "name" : "alice2",
     "balance" : 100
    }
    

    逻辑操作符:not、and、or、nor

    not操作:获取余额不大于120的账号列表

    > db.accounts.find({"balance":{$not:{$gt:120}}}).pretty()
    { "_id" : "account1", "name" : "alice2", "balance" : 100 }
    {
     "_id" : ObjectId("5d7f43abaecbd2bc0fa821b7"),
     "name" : "alice2",
     "balance" : 100
    }
    

    and操作:获取name为alice2,且balance小于120的记录

    > db.accounts.find({$and: [ { "name":"alice2" }, { "balance":{$lt:200} } ] } );
    { "_id" : "account1", "name" : "alice2", "balance" : 100 }
    { "_id" : ObjectId("5d7f43abaecbd2bc0fa821b7"), "name" : "alice2", "balance" : 100 }
    # 上述查询语句,可以简写为
    > db.accounts.find({ "name":"alice2", "balance":{$lt:200} });
    # 当筛选条件,应用在同一个字段上的时候,也可以做简化
    > db.accounts.find({"balance":{$lt:120,$gt:80} });
    { "_id" : "account1", "name" : "alice2", "balance" : 100 }
    { "_id" : ObjectId("5d7f43abaecbd2bc0fa821b7"), "name" : "alice2", "balance" : 100 }
    

    字段操作符

    exists 查询存在某个字段的记录

    > db.accounts.find({"_id.name":{$exists:true}});
    { "_id" : { "name" : "david", "balance" : 200 }, "name" : "charlie", "balance" : 500 }
    { "_id" : { "balance" : 200, "name" : "david" }, "name" : "charlie", "balance" : 500 }
    

    type 针对字段类型进行查询

    > db.accounts.find({"_id":{$type:['string','objectId','object','null']}});
    
  • 相关阅读:
    python base64.b64decode 等号可以随便加
    MySQL 5.7 数据库的忘记 root 登录密码处理
    霸州录——第一章 名存实亡(下)
    三 工具虽微小 入门不可少
    霸州录——第一章 名存实亡(中)
    霸州录——第一章 名存实亡(上)
    一 欲行网络道,入乡须随俗
    霸州录——楔子
    【第一章】编译原理基础
    TensorFlow
  • 原文地址:https://www.cnblogs.com/zy108830/p/12639597.html
Copyright © 2011-2022 走看看