MongoDB的安装和增删改查
1.安装 MongoDB(在root下面执行)
sudo su //到root
sudo apt-get install mongodb
apt-get update //如果遇到找不到安装包的话运行
sudo apt-get install mongodb //然后再执行一次
或者获取最新版本:
wget mongodb-linux-x86_64-amazon-3.2.8.tgz
tar zxvf mongodb-linux-x86_64-amazon-3.2.8.tgz
cd /usr/local/mongodb-linux-x86_64-amazon-3.2.8/bin
在运行前,需要创建mongodb需要的存放数据和日志的目录:
sudo mkdir -p /data/db/
sudo chmod -R 777 /data/db/
关闭/启动
sudo service mongodb stop
sudo service mongodb start
连接服务器
mongo
2.数据库创建和增删改查
use xiongdihui
·创建数据库下的集合,可以看成是一个表格TABLE
db.createCollection("Liuhengyu");
·增加插入数据
db.Liuhengyu.insert([{"_id":1,"name":"刘帅哥"},{"_id":2,"name":"韩美女"}]);
·查看数据
db.Liuhengyu.find();
例如:
db.Liuhengyu.find({"_id":{$lte:12}}); --where id<=val
·删除数据
db.Liuhengyu.remove({"_id":1});
扩展:
1.查看用户下所有集合
show collections;
2.Mongodb对大小敏感
·删除数据库下集合
db Liuhengyu drop();
·更新操作:
1.set修改器,默认
db.Liuhengyu.update({"_id":1,{"name":"liushuige"});db.Liuhengyu.find();
·修改器
·$inc。
db.Liuhengyu.insert({"_id":1,"url":"www.xiongdilian.com","pageViews":1})
db.Liuhengyu.update({"_id":1},{"$inc":{"pageViews":1}});
·$set
db.Liuhengyu.update({"_id":1},{"$set":{"url":"[email protected]"}});
将URL变成一个数组
db.Liuhengyu.update({"_id":1},{"$set":{"url":["[email protected]","[email protected]","[email protected]"]}});
删除键
db.Liuhengyu.update({"_id":1},{"$unset":{"url":1}})
数组修改器
$push 向数组中添加值,会出现重复的值
db.Liuhengyu.update({"_id":1},{"$push":{"company":"sc"}});
$each
db.Liuhengyu.update({"_id":1},{"$push":{"company":{"$each":["a1","a2","a3","a4"]}}});
$slice 指定最大的长度,它的值必须是负数,表示保留最后的n个值
db.Liuhengyu.update({"_id":1},{"$push":{"company":{"$each":["c1","c2","c3","c4","c5","c6","c7"],"$slice":-10}}});
$pop从数组中删除一个元素 key:1 表示从数据的末尾开始 key=-1表示从头部开始
db.Liuhengyu.update({"_id":1},{"$pop":{"company":1}});
$pull 从数组中删除匹配的值
db.Liuhengyu.update({"_id":1},{"$pull":{"company":"a2"}});
接下来加一点点难度
db.Liuhengyu.insert({
"_id":12,
"content":"xiongdilian如何?",\
"comments":
[{"comment":"好","count":0},
{"comment":"很好","count":0},
{"comment":"非常好","count":0}, ]})
通过数组下表访问
db.Liuhengyu.update({"_id":12},{"$inc":{"comments.1.count":1}});
db.Liiuhengyu.update({"comments.comment":"很好"},{"$set":{"comments.$.comment":"很很好"}});
Mongdb默认每次只修改一个文档,如果要修改所有满足条件的记录,则需要在后面添加条件
db.Liuhengyu.update({"comments.comment":"好"},{"$inc":{"comments.$.count":3}},false,true);