MongoDB 安装及基础操作
1.安装
进入 /usr/local
cd /usr/local
下载
sudo curl -O https://fastdl.mongodb.org/osx/mongodb-osx-x86_64-3.4.2.tgz
解压
sudo tar -zxvf mongodb-osx-x86_64-3.4.2.tgz
重命名为 mongodb
sudo mv mongodb-osx-x86_64-3.4.2 mongodb
配置环境变量
export PATH=/usr/local/mongodb/bin:$PATH
2.启动
sudo mongodb
3.基本操作
进入bin目录,进行交互
cd /usr/local/mongodb/bin
./mongo
创建数据库
use DATABASE_NAME
查看所有数据库
show dbs
创建集合(表)
db.createCollection(name, options)
查询已有集合(表)
show collections
插入数据(JSON格式文件)
在 test 数据库下 newMsg 集合插入数据
sudo ./mongoimport --db test --collection newMsg --file ~/Desktop/ptapp/newMsg.json
补:
1.插入数据或json格式文件时,需要退出 Mongo ,返回到 bin 目录操作
2.在导入数据时 –collection 对应的集合名称必须与 –file路径下的集合名称相一致,否则会出现如下错误,这是个容易被忽略的坑
error validating settings: incompatible options: --file and positional argument(s)
查询数据
查询newMsg表中关于to: “p_u_b2dc9fe03d4d90” 的数据:
db.newMsg.find({to: "p_u_b2dc9fe03d4d90"}).sort({ "_id": 1}).skip(0).limit(30)
db.newMsg.find({ "to":'p_u_b2dc9fe03d4d90'}).pretty()
多层嵌套数组查询
db.newMsg.aggregate([
{$match: {"payload.bodies.msg": '付款了怎么反还?'}},
{$unwind: "$payload"},
{$unwind: "$payload.bodies"},
{$match: {"payload.bodies.msg": '付款了怎么反还?'}},
]);
db.newMsg.aggregate([
{$match: {"msg_id": '571378421368621020'}},
]);
补:可以直接这一嵌套查询,只是返回的结果,是先查 msg,然后在根据 msg_id 查
导出查到的数据到指定的文件
-h host
-p 端口号
-d 数据库名称
-c 表名称
-q 查询条件语句
~/ 进入根目录
sudo ./mongoexport -h localhost -p 27017 -d test -c 2016 -q "{to: 'p_u_b1d692e437499f'}" -o ~/Desktop/findResult/from_2016.json
删除集合(表)
db.createCollection.drop()
就到这里了,更多操作可以直接查看 MongoDB 教程