通过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之Spring相关实现(一)”这篇博文中,作者可能还会深入讨论如何使用Spring Data MongoDB的特性,例如自定义查询、事务管理、索引创建等。同时,可能还会涉及一些最佳实践和常见问题的解决方案。通过...
MongoDB之conf配置文件详解 MongoDB的配置文件是服务器的核心组件之一,它控制着MongoDB服务器的各种设置和行为。在本文中,我们将详细介绍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数据库
MongoDB 实验报告 本实验报告旨在详细介绍 MongoDB 的安装、配置和基本操作步骤,本报告基于 CentOS 7 系统,通过一步一步的截图和文字说明,帮助读者快速掌握 MongoDB 的使用。 一、安装 MongoDB 首先,我们需要...
MongoDB是一款开源、高性能、无模式的文档型数据库,它在现代应用程序开发中扮演着重要的角色,特别是在处理大量非结构化数据时。针对"mongodb Windows7 64位"这个主题,我们将深入探讨MongoDB在Windows 7 64位操作...
3. **安全增强**:MongoDB持续加强安全特性,4.4.6可能包含了安全漏洞的修复和认证授权机制的强化。 4. **多文档事务**:在4.x系列中,MongoDB实现了跨文档的ACID事务,提高了应用程序的复杂性处理能力。 接下来,...
MongoDB图形化管理工具 MongoDB Compass
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强大的类sql查询语言,感受到MongoDB与其它Nosql数据库的异同之处。(教程下载地址在文本里面)
MongoDB入门指南 MongoDB是一种开源的文档类型数据库,它具有高性能、可扩展、高可用、自动收缩等特性。MongoDB能够避免传统的ORM映射,从而有助于开发。MongoDB中的每一行记录就是一个文档,它是一个由键值对构成...
开源数据库之MongoDB专场
MongoDB 是一个流行的开源、基于分布式文件存储的数据库系统,主要设计用于处理大量数据的分布式环境。C# 驱动是 MongoDB 提供的一种客户端库,允许 .NET 开发者与 MongoDB 数据库进行交互。标题提到的是 MongoDB 的...
Spring Data MongoDB是一个强大的Java库,它为开发人员提供了一种简单的方式来访问和操作MongoDB数据库。这个库是Spring Data框架的一部分,旨在简化数据访问层的实现,尤其在使用NoSQL数据库如MongoDB时。MongoDB...
MongoDB是一个开源、分布式、高性能的NoSQL数据库,以其灵活性、可扩展性和高可用性而闻名。`mongodb.dll`是MongoDB数据库系统在Windows平台上运行所必需的一个动态链接库(DLL)文件,它包含了MongoDB客户端和...
8. **安全注意事项**:安装完成后,强烈建议执行`mongo` shell中的`use admin`和`db.runCommand({keyFile:"/path/to/keyfile"})`来启用身份验证,并创建用户账户,以增强安全性。 至此,MongoDB 4.2.21已经在Linux...
6. **变更流增强**:MongoDB的变更流功能在4.4中得到加强,能够实时追踪和处理数据变化,非常适合构建实时应用。 7. **性能监控**:MongoDB 4.4提供了更强大的性能监控工具,帮助管理员更好地理解和优化系统性能。 ...
安装MongoDB需要安装mongodb-org元数据包,该包包含四个组件包:mongodb-org-server、mongodb-org-mongos、mongodb-org-shell、mongodb-org-tools。 在Centos7下安装MongoDB可以通过epel-release的yum源来安装,...
MongoDB是一个流行的开源、分布式文档型数据库,设计用于处理大量数据并提供高可用性和高性能。在Java应用程序中,为了与MongoDB进行交互,我们需要使用Java MongoDB驱动程序。这个压缩包包含的就是Java连接MongoDB...