通过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是一款开源、分布式、高性能的NoSQL数据库,它不使用传统的表格和列式结构来存储数据,...记得定期更新MongoDB以获取最新的安全修复和功能增强,同时保持对Compass新版本的关注,以充分利用其不断进化的特性。
3. **字段级别加密**:MongoDB 4.2引入了字段级别的动态加密(Field Level Encryption),允许用户在不改变应用程序的情况下加密敏感数据,增强了数据安全性。 4. **变更流**:变更流功能在4.2版本中得到改进,允许...
MongoDB 实验报告 本实验报告旨在详细介绍 MongoDB 的安装、配置和基本操作步骤,本报告基于 CentOS 7 系统,通过一步一步的截图和文字说明,帮助读者快速掌握 MongoDB 的使用。 一、安装 MongoDB 首先,我们需要...
4. **安全增强**:MongoDB 3.2加强了身份验证和访问控制,增加了SCRAM-SHA-256认证机制,提供了更安全的连接方式。 5. **写入操作优化**:引入了`bulkWrite` API,允许批量执行插入、更新和删除操作,提高了数据...
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数据库的异同之处。(教程下载地址在文本里面)
6. **变更流增强**:MongoDB的变更流功能在4.4中得到加强,能够实时追踪和处理数据变化,非常适合构建实时应用。 7. **性能监控**:MongoDB 4.4提供了更强大的性能监控工具,帮助管理员更好地理解和优化系统性能。 ...
MongoDB是一个流行的开源、分布式文档型数据库,设计用于处理大量数据并提供高可用性和高性能。在Java应用程序中,为了与MongoDB进行交互,我们需要使用Java MongoDB驱动程序。这个压缩包包含的就是Java连接MongoDB...
MongoDB 是一个流行的开源、基于分布式文件存储的数据库系统,主要设计用于处理大量数据的分布式环境。C# 驱动是 MongoDB 提供的一种客户端库,允许 .NET 开发者与 MongoDB 数据库进行交互。标题提到的是 MongoDB 的...
MongoDB入门指南 MongoDB是一种开源的文档类型数据库,它具有高性能、可扩展、高可用、自动收缩等特性。MongoDB能够避免传统的ORM映射,从而有助于开发。MongoDB中的每一行记录就是一个文档,它是一个由键值对构成...
开源数据库之MongoDB专场
MongoDB驱动