准备
这篇文章看完后的效果是:能够使用MongoDB在命令行中根据多个条件查所需的数据。
为了表述清楚:达成以下共识:
- MongoDB版本号:mongodb-osx-x86_64-3.2.10
- 本机用户名称:gaoios
- //cmd:xxx 表示注释,下面一行命令需要在命令行中输入
- 环境是Mac
不理解话也没关系,想到了再回来看,或许用得到。
安装MongoDB
下载
下载安装包
官网下载地址:https://www.mongodb.com/download-center?jmp=nav#community
连接打不开请点这个:https://fastdl.mongodb.org/osx/mongodb-osx-x86_64-3.2.10.tgz
在OSX下的Version中选择 OSX 10.7 + 64-bit x64
这之间的区别:是否使用ssl
安装
在下载文件夹中双击解压mongodb-osx-x86_64-3.2.10.tgz的压缩包,解压在当前目录中。
接下来的步骤都是在命令行中操作,请先打开命令行工具。
1:移动:
mv -n ~/Downloads/mongodb-osx-x86_64-3.2.10 ~/Applications/mongodb/
~/Downloads/mongodb-osx-x86_64-3.2.10 是刚才解压安装包存放的目录
~/Applications/mongodb/ 默认移动到这个文件夹,且此文件夹是不可见的
2:在 / 中创建 data/db
用于存放mongodb数据,并且设置相应的权限
sudo mkdir -p /data/db
sudo chown -R gaoios /data
3:启动服务
输入命令,然后回车
~/Applications/mongodb/bin/mongod
正常的返回:
异常的返回:MongoDB服务已经开启
在系统活动监视器中 搜索mongo 终止进程就好了。
4:打开应用
打开另一个终端,输入命令,然后回车
~/Applications/mongodb/bin/mongo
返回结果:
装载数据
use 命令:
use health
用于创建名称为health数据库。该命令将创建一个新的数据库,如果它不存在,否则将返回现有的数据库。
db.getName()
查看当前数据库的名称。
插入一行数据:
//数据
{"name":"gaoios","date":"10.20","weight":"71.4"}
//cmd:
db.health.insertOne({"name":"gaoios","date":"10.20","weight":"71.4"})
返回结果:
插入多行数据:
如果需要插入多行数据,上面的命令太过繁琐,可以同时插入多行数据。
//数据
[
{"name":"gaoios","date":"10.21","weight”:71.4"},
{"name":"gaoios","date":"10.22","weight":"71.4"},
{"name":"gaoios","date":"10.23","weight":"71.4"},
{"name":"gaoios","date":"10.24","weight":"71.3"},
{"name":"gaoios","date":"10.25","weight":"71.0"},
{"name":"gaoios","date":"10.26","weight":"70.8"},
{"name":"gaoios","date":"10.27","weight":"70.7"},
{"name":"gaoios","date":"10.28","weight":"70.2"},
{"name":"gaoios","date":"10.29","weight":"69.7"}
]
//cmd:
db.health.insertMany([{"name":"gaoios","date":"10.21","weight":"71.4"},{"name":"gaoios","date":"10.22","weight":"71.4"},{"name":"gaoios","date":"10.23","weight":"71.4"},{"name":"gaoios","date":"10.24","weight":"71.3"},{"name":"gaoios","date":"10.25","weight":"71.0"},{"name":"gaoios","date":"10.26","weight":"70.8"},{"name":"gaoios","date":"10.27","weight":"70.7"},{"name":"gaoios","date":"10.28","weight":"70.2"}, {"name":"gaoios","date":"10.29","weight":"69.7"}])
返回的结果
数据准备的工作完成,可以使用命令查看
//cmd:查看所有数据
db.health.find()
返回的结果:
数据查询
接下来我们需要再做两件事情,那么这篇文章就可以大功告成了。
1:根据某一个条件,从数据库中筛选出数据。
2:根据多个条件,从数据库中取数据。
一个条件
//cmd:根据id
db.health.find({_id:ObjectId("58148fbc4019e25eaa24ce60")})
//结果:
{ "_id" : ObjectId("58148fbc4019e25eaa24ce60"), "name" : "gaoios", "date" : "10.20", "weight" : "71.4" }
//cmd:根据日期
db.health.find({"date":"10.26"})
//结果:
{ "_id" : ObjectId("58149a594019e25eaa24ce66"), "name" : "gaoios", "date" : "10.26", "weight" : "70.8" }
多个条件
//cmd:指定两天的数据
db.health.find({"date":{$in:["10.20","10.29"]}})
//结果
{ "_id" : ObjectId("58148fbc4019e25eaa24ce60"), "name" : "gaoios", "date" : "10.20", "weight" : "71.4" }
{ "_id" : ObjectId("58149a594019e25eaa24ce69"), "name" : "gaoios", "date" : "10.29", "weight" : "69.7" }
最终效果
我脸上的,我身上的每一两肉,哪有平白无故长出来的,都是我一口一口辛苦吃出来的。减掉它也是一样,最终我看到一段时间体重的变化,撒花..未完..待续....