`

征服 Mongodb 之 Modifier增强

阅读更多

通过find/findOne做了简单查询,恍惚间发觉好像少点什么,似乎过于简单。这里做个补充,简单说说各种$的关键字:$lt、$gt、$lte、$gte等等。

发现自己又给自己挖了个坑,又深又广,需要早点跳出来喘口气。保密

 

 

集群配置相关链接:

征服 Mongodb 之 安装与系统服务配置

征服 Mongodb 之 主从复制&集群复制

 

基本操作相关链接:

征服 Mongodb 之 常用命令、基本数据类型  

征服 Mongodb 之 Modifier初识

征服 Mongodb 之 Modifier增强

征服 Mongodb 之 CRUD

    我感觉似乎被这本书(《MongoDB权威指南》) 绕进去了,如果按照书上这么拆分,很容易把这些MongoDB的Modifier当作是只有Update才特有的部分。

 

    一、“或”

  •  $or

   有关于“且”关系的查询,详见“CRUD”那一篇,这里单说OR查询。

 

> db.user.findOne({"$or" :[{"age" : 30},{"uid" : "u1234567890"}]})
{
        "_class" : "org.zlex.mongodb.domain.User",
        "_id" : ObjectId("50fe4f627252799620eee0db"),
        "address" : "上海",
        "age" : 30,
        "email" : [
                "snowolf@sina.com",
                "snowolf@sohu.com",
                "snowolf@yahoo.com",
                "snowolf@baidu.com"
        ],
        "uid" : "u1234567890"
}

    {"age" : 30},{"uid" : "u1234567890"} 满足条件其一。

 

    

  • $not
> db.user.findOne({"age" : {"$not":{"$gt":40}}})
{
        "_class" : "org.zlex.mongodb.domain.User",
        "_id" : ObjectId("50fe4f627252799620eee0db"),
        "address" : "上海",
        "age" : 30,
        "email" : [
                "snowolf@sina.com",
                "snowolf@sohu.com",
                "snowolf@yahoo.com",
                "snowolf@baidu.com"
        ],
        "uid" : "u1234567890"
}

    age不大于40的数据检索

 

    二、“范围”

  • $lt、$gt、$lte、$gte

     这里指的是$lt、$gt、$lte、$gte这些稀奇古怪的标识符的特有用途。其实只要对XML格式熟悉,对这些缩写应该并不陌生。$lt、$gt、$lte、$gte与之对应的数学符号是<、>、<=、>=。

 

> db.user.findOne({"age" : {"$gte":20,"$lte":50}})
{
        "_class" : "org.zlex.mongodb.domain.User",
        "_id" : ObjectId("50fe4f627252799620eee0db"),
        "address" : "上海",
        "age" : 30,
        "email" : [
                "snowolf@sina.com",
                "snowolf@sohu.com",
                "snowolf@yahoo.com",
                "snowolf@baidu.com"
        ],
        "uid" : "u1234567890"
}

 

 

    等同于:  where age >= 20 and age <= 50

 

  • $in、$nin

    如果想查询一个键的多个值,可以用$in

 

> db.user.findOne({"email" : {"$in":["snowolf@sina.com","snowolf@baidu.com"]}})
{
        "_class" : "org.zlex.mongodb.domain.User",
        "_id" : ObjectId("50fe4f627252799620eee0db"),
        "address" : "上海",
        "age" : 30,
        "email" : [
                "snowolf@sina.com",
                "snowolf@sohu.com",
                "snowolf@yahoo.com",
                "snowolf@baidu.com"
        ],
        "uid" : "u1234567890"
}

    与之相反的是$nin

 

 

> db.user.findOne({"email" : {"$nin":["snowolf@163.com","snowolf@qq.com"]}})
{
        "_class" : "org.zlex.mongodb.domain.User",
        "_id" : ObjectId("50fe4f627252799620eee0db"),
        "address" : "上海",
        "age" : 30,
        "email" : [
                "snowolf@sina.com",
                "snowolf@sohu.com",
                "snowolf@yahoo.com",
                "snowolf@baidu.com"
        ],
        "uid" : "u1234567890"
}

  

   OK,本次突击任务基本完成。眨眼

   有关Modifier标识符,详见http://cn.docs.mongodb.org/manual/reference/operator/

 

 

 

 

集群配置相关链接:

征服 Mongodb 之 安装与系统服务配置

征服 Mongodb 之 主从复制&集群复制

 

基本操作相关链接:

征服 Mongodb 之 常用命令、基本数据类型  

征服 Mongodb 之 Modifier初识

征服 Mongodb 之 Modifier增强

征服 Mongodb 之 CRUD

1
1
分享到:
评论

相关推荐

    征服 Mongodb 之 Spring相关实现(一)

    在“征服MongoDB之Spring相关实现(一)”这篇博文中,作者可能还会深入讨论如何使用Spring Data MongoDB的特性,例如自定义查询、事务管理、索引创建等。同时,可能还会涉及一些最佳实践和常见问题的解决方案。通过...

    MongoDB之conf配置文件详解

    MongoDB之conf配置文件详解 MongoDB的配置文件是服务器的核心组件之一,它控制着MongoDB服务器的各种设置和行为。在本文中,我们将详细介绍MongoDB的配置文件的各个部分,并解释每个设置的作用和意义。 一、数据库...

    linux安装mongodb教程

    /usr/local/mongodb/mongodb-linux-2.0.7/bin/mongod --dbpath=/usr/local/mongodb/data/db --logpath=/usr/local/mongodb/mongodb-linux-2.0.7/logs/mongodb.log --logappend --port=27017 --fork 知识点 6:配置...

    mongodb-测试数据

    MongoDB是一种流行的开源、分布式文档数据库,常被用于构建高性能、可扩展的应用程序。这个“mongodb-测试数据”压缩包显然包含了一些...通过深入研究和操作这些数据,你可以增强对MongoDB的理解,提升数据库管理技能。

    课时8:MongoDB数据库安全机制.mp4

    MongoDB数据库

    mongodb安装包和compass

    MongoDB是一款开源、分布式、高性能的NoSQL数据库,它不使用传统的表格和列式结构来存储数据,...记得定期更新MongoDB以获取最新的安全修复和功能增强,同时保持对Compass新版本的关注,以充分利用其不断进化的特性。

    MongoDB4.2.6资源下载

    3. **字段级别加密**:MongoDB 4.2引入了字段级别的动态加密(Field Level Encryption),允许用户在不改变应用程序的情况下加密敏感数据,增强了数据安全性。 4. **变更流**:变更流功能在4.2版本中得到改进,允许...

    MongoDB实验 - .docx

    MongoDB 实验报告 本实验报告旨在详细介绍 MongoDB 的安装、配置和基本操作步骤,本报告基于 CentOS 7 系统,通过一步一步的截图和文字说明,帮助读者快速掌握 MongoDB 的使用。 一、安装 MongoDB 首先,我们需要...

    MongoDB3.2

    4. **安全增强**:MongoDB 3.2加强了身份验证和访问控制,增加了SCRAM-SHA-256认证机制,提供了更安全的连接方式。 5. **写入操作优化**:引入了`bulkWrite` API,允许批量执行插入、更新和删除操作,提高了数据...

    mongodb Windows7 64位

    MongoDB是一款开源、高性能、无模式的文档型数据库,它在现代应用程序开发中扮演着重要的角色,特别是在处理大量非结构化数据时。针对"mongodb Windows7 64位"这个主题,我们将深入探讨MongoDB在Windows 7 64位操作...

    mongodb4.4.6安装包

    3. **安全增强**:MongoDB持续加强安全特性,4.4.6可能包含了安全漏洞的修复和认证授权机制的强化。 4. **多文档事务**:在4.x系列中,MongoDB实现了跨文档的ACID事务,提高了应用程序的复杂性处理能力。 接下来,...

    MongoDB图形化管理工具 MongoDB Compass

    MongoDB图形化管理工具 MongoDB Compass

    Linux安装mongodb客户端

    sudo vim /etc/yum.repos.d/mongodb-org-4.2.repo 写入: [mongodb-org-4.2] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/ gpgcheck=1 enabled=1 gpg...

    如何安装MongoDB 如何使用MongoDB

    本课程是一套关于MongoDB应用开发的实战性教程,名为《深入浅出...学员从中可领会到MongoDB设计的精妙之处,体会到MongoDB强大的类sql查询语言,感受到MongoDB与其它Nosql数据库的异同之处。(教程下载地址在文本里面)

    Windows-MongoDB-4.4.1-x64.zip

    6. **变更流增强**:MongoDB的变更流功能在4.4中得到加强,能够实时追踪和处理数据变化,非常适合构建实时应用。 7. **性能监控**:MongoDB 4.4提供了更强大的性能监控工具,帮助管理员更好地理解和优化系统性能。 ...

    mongodb数据库jar包

    MongoDB是一个流行的开源、分布式文档型数据库,设计用于处理大量数据并提供高可用性和高性能。在Java应用程序中,为了与MongoDB进行交互,我们需要使用Java MongoDB驱动程序。这个压缩包包含的就是Java连接MongoDB...

    mongodb c#驱动最新驱动mongodb.driver.dll 版本2.12.0-beta1

    MongoDB 是一个流行的开源、基于分布式文件存储的数据库系统,主要设计用于处理大量数据的分布式环境。C# 驱动是 MongoDB 提供的一种客户端库,允许 .NET 开发者与 MongoDB 数据库进行交互。标题提到的是 MongoDB 的...

    MongoDB入门指南.pdf

    MongoDB入门指南 MongoDB是一种开源的文档类型数据库,它具有高性能、可扩展、高可用、自动收缩等特性。MongoDB能够避免传统的ORM映射,从而有助于开发。MongoDB中的每一行记录就是一个文档,它是一个由键值对构成...

    开源数据库之MongoDB专场

    开源数据库之MongoDB专场

    DBeaver新增MongoDB驱动

    MongoDB驱动

Global site tag (gtag.js) - Google Analytics