`

征服 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实验 - .docx

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

    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数据库的异同之处。(教程下载地址在文本里面)

    MongoDB入门指南.pdf

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

    开源数据库之MongoDB专场

    开源数据库之MongoDB专场

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

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

    spring-data使用mongodbTemplate对MongoDB进行读写操作

    Spring Data MongoDB是一个强大的Java库,它为开发人员提供了一种简单的方式来访问和操作MongoDB数据库。这个库是Spring Data框架的一部分,旨在简化数据访问层的实现,尤其在使用NoSQL数据库如MongoDB时。MongoDB...

    mongodb.dll 下载.zip

    MongoDB是一个开源、分布式、高性能的NoSQL数据库,以其灵活性、可扩展性和高可用性而闻名。`mongodb.dll`是MongoDB数据库系统在Windows平台上运行所必需的一个动态链接库(DLL)文件,它包含了MongoDB客户端和...

    MongoDB4.2.21 Linux版本安装包

    8. **安全注意事项**:安装完成后,强烈建议执行`mongo` shell中的`use admin`和`db.runCommand({keyFile:"/path/to/keyfile"})`来启用身份验证,并创建用户账户,以增强安全性。 至此,MongoDB 4.2.21已经在Linux...

    Windows-MongoDB-4.4.1-x64.zip

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

    Centos7下安装MongoDB

    安装MongoDB需要安装mongodb-org元数据包,该包包含四个组件包:mongodb-org-server、mongodb-org-mongos、mongodb-org-shell、mongodb-org-tools。 在Centos7下安装MongoDB可以通过epel-release的yum源来安装,...

    mongodb数据库jar包

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

Global site tag (gtag.js) - Google Analytics