mac 上安装mongodb
使用brew安装,更多安装方式请参考mongodb官网
1、安装mongodb
brew update
brew install mongodb
2、建立存放数据文件夹
sudo mkdir -p /data/db
3、修改文件夹权限
sudo chmod a+wr /data/db
4、运行
mongod
查找,更新,删除操作
删除collection
db.users.remove({});
db.users.drop();
更新collection
var user = db.users.findOne({'name': 'smilexu'});
user.friends = 32;
db.users.update({'name': 'smilexu'}, user);
更新collection, 加1
db.users.update({'name': 'smilexu'}, {$inc: {'age': 1} });
更新collection, 设置新字段
db.users.update({'name': 'smilexu'}, {$set: {'enemies': 2} });
更新collection, 删除字段
db.users.update({'name': 'smilexu'}, {$unset: {'enemies': 2} });
更新collection, 更新字段类型
db.users.update({'name': 'smilexu'}, {$set: {'friends': []} });
更新collection, 增加数组数据
db.users.update({'name': 'smilexu'}, {$push: {'friends': {'name': 'liuyi', 'age': 20} }});
更新collection, 增加数组数据(避免重复数据)
db.users.update({'name': 'smilexu'}, {$addToSet: {'friends': {'name': 'adu', 'age': 20}}});
更新collection, 循环增加数组数据(避免重复数据)
db.users.update({'name': 'smilexu'}, {$addToSet:{'friends': {$each: [{'name': 'adu', 'age': 20}, {'name': 'xiaoa', 'age': 20}, {'name': 'oushuai', 'age': 20}]}}});
更新collection, 删除数组最后一个数据
db.users.update({'name': 'smilexu'},{$pop: {'friends': 1}});
更新collection, 删除数组中指定字段
db.users.update({'name': 'smilexu'},{$set:{'drinks': ['tea', 'coffee','juice']}});
db.users.update({'name':'smilexu'},{$pull: {'drinks': 'tea'}});
更新collection, 更新指定字段+1
db.users.update({'name': 'smilexu'},{$inc: {"friends.0.age": 1}});
更新collection, 更新匹配字段数据(在不知道索引的情况下)
db.users.update({"friends.name": "liuyi"}, {$set: {"friends.$.age": 10}});
更新collection, 更新所有匹配的数据
db.users.update({},{$set: {'age': 20}}, false, true);
查看更新信息
db.runCommand({getLastError: 1})
数据库备份,还原
备份
mongodump -h host -d dbname -o outputdirectory
mongodump -h 127.0.0.1 -d test -o /data/dump
还原
mongorestore -h host -d dbname --directoryperdb sourcedirectory
mongorestore -h 127.0.0.1 -d test --directoryperdb /data/dump/test