高级查询
准备数据
安装工具包
下载工具包
因为下载的MongoDB是不包含导入导出工具包的,到下载页面选择版本下载即可
选择符合的版本下载即可
wget https://fastdl.mongodb.org/tools/db/mongodb-database-tools-rhel70-x86_64-100.3.1.tgz
安装工具包
# 解压安装包
tar -zxvf mongodb-database-tools-rhel70-x86_64-100.3.1.tgz
# 移动bin目录中所有文件到mongodb安装包的bin目录
mv -f mongodb-database-tools-rhel70-x86_64-100.3.1/bin/* bin/
将MongoDB工具包中的文件复制到 mongodb安装目录的 bin目录
导入测试数据
下载测试数据
这里使用亚马逊官方提供的,下载地址 亚马逊测试数据
使用 wget 命令下载包含示例数据的 JSON 文件
wget http://media.mongodb.org/zips.json
导入数据
使用 mongoimport 命令将数据导入新数据库 (zips-db)
mongoimport --host 127.0.0.1:27017 --db zips-db --file zips.json
验证导入文档
导入完成后,使用 mongo 连接到 MongoDB 并验证数据是否已成功加载
mongo --host 127.0.0.1:27017
# 查看所有数据库
show dbs;
登录后检查发现所有的数据库都是存在的
并检查文档数据
# 切换到zips-db数据库
use zips-db;
# 查看数据库所有的集合
show tables;
#查询第一个文档的数据
db.zips.findOne({});
我们发现数据库已经成功导入
测试数据结构
导入的数据是亚马逊官方提供的,没有各个地区的人数统计,数据结构如下
_id | city | loc | pop(万) | state |
---|---|---|---|---|
数据ID号 | 城市名称 | 位置坐标 | 人数 | 所属哪个州 |
具体对应关系如下图
关系表达式
刚才我们只学习了最基本的查询,下面我们看一下MongoDB的关系表达式
如果你熟悉常规的 SQL 数据,通过下表可以更好的理解 MongoDB 的条件语句查询:
操作 | 格式 | 范例 | RDBMS中的类似语句 |
---|---|---|---|
等于 | {<key>:<value> } |
db.col.find({"by":"作者名称"}).pretty() |
where by = '作者名称' |
小于 | {<key>:{$lt:<value>}} |
db.col.find({"likes":{$lt:50}}).pretty() |
where likes < 50 |
小于或等于 | {<key>:{$lte:<value>}} |
db.col.find({"likes":{$lte:50}}).pretty() |