- 安装
- 使用
- Python用法
- Java用法
安装
1 下载
OSX:
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-amazon-3.4.10.tgz
Linux:
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-amazon-3.4.10.tgz
https://fastdl.mongodb.org/osx/mongodb-osx-ssl-x86_64-3.4.10.tgz
2 解压
tar -zxvf mongodb-linux-x86_64-amazon-3.4.10.tgz
解压后建议移动到usr/local/下
mv mongodb-linux-x86_64-amazon-3.4.10 mongo
sudo mv mongo /usr/local/
3 创建配置文件
配置文件用于配置MongoDB的一些启动参数,常用的参数如下:
# 数据库数据存放目录(可以设置你喜欢的任何目录)
dbpath = /Users/wukong/data/db
# 日志存放路径(可以设置你喜欢的任何目录)
logpath=/Users/wukong/logs/mongo/mongodb.log
# 以追加方式记录日志
logappend = true
# 端口号
port = 27017
# 以后台方式运行进程
fork = true
# 开启用户认证(首次建议将auth选项设置成false, 以便无密码进行登录)
auth = true
将以上内容保存成 mongo.conf文件 (存放在/usr/local/mongo/)
4 启动MongoDB 服务
cd /usr/local/mongo/
# 指定配置文件进行启动
sudo ./bin/mongod -f ./mongo.conf
执行 以上命令后,mongodb将以守护进程的形式在后台运行
通过以下命令可以查看运行状态:
ps aux | grep mongo
看到下面的结果,说明运行成功
root 500 0.3 0.1 3262944 7004 ?? S 10:38下午 5:47.93 ./bin/mongod -f mongo.conf
5 停止MongoDB 服务
sudo kill -2 {mongoDB运行的进行号}
使用
1 简单使用
终端执行
/usr/local/mongo/bin/mongo
进入mongo客户端命令行
常用命令
# 查看数据库
show dbs
# 选择数据库(如果没有,则直接创建)
use test
# 查看当前数据库
db
# 查看当前数据库指定collection的数据数量
db.shop.count()
# 查询
db.shop.find({'id': 5})
db.shop.findOne({'id': 5})
# 插入
db.shop.insert({'name': 'wukong', 'type': 'handsome boy'})
# 更新
# 将id为5的数据,name字段设置为mm
db.shop.update({'id':'5', {$set: {'name' : 'mm'}}})
# 删除
# 删除id为567的数据
db.shop.remove({'id': '567'})
# distinct
db.shop.distinct('shop_id')
2 权限设置
— 创建管理员账户
user admin
db.createUser( { user: "myadmin", pwd: "myadmin1234", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } )
— 创建超级用户root
use admin
db.createUser( { user: "root", pwd: "root", roles: [ { role: "root", db: "admin" } ] } );
— 创建普通用户
use monster
db.createUser( { user: "wukong", pwd: "wukong1234", roles: [ { role: "readWrite", db: "monster" } ] } )
3 数据库备份与恢复
备份
sudo ./mongodump -u 'name' -p 'password' -d dbname -o ./
恢复
sudo mongorestore -h dbhost -d dbname --dir dbdirectory
# 更多选项
mongodump --help
Python用法
python 需要安装 pymongo包
sudo pip install pymongo
具体使用方法:
# 创建MongoClient对象
client = MongoClient(host=DB_CONFIG['dbURL'],
port=DB_CONFIG['dbPort'],
username=DB_CONFIG['dbUser'],
password=DB_CONFIG['dbPassword'],
authSource=DB_CONFIG['dbName'])
# 获取数据库
db = client.get_database(name=DB_CONFIG['dbName'])
# 获取colletion
col = db.get_collection(name=DB_CONFIG['dbCollectionName'])
# 插入数据
collection.insert_many(data_array)
collection.insert_one(value)
# 查询数据
self.collection.find_one(query)
self.collection.find(query)
# 删除数据
collection.delete_one(query)
collection.delete_many(query)
# 更新数据
collection.update_many(query, value)
collection.update_one(query, value)
# 获取数量
self.collection.count(query)
# 关闭数据库
client.close()
Java用法
Java 建议使用mongodb的驱动包进行编程
org.mongodb
mongo-java-driver
3.2.2
具体使用方法与Python套路一致:
// 端口, URL
ServerAddress serverAddress = new ServerAddress(MONGO_URL, MONGO_PORT);
List addrs = new ArrayList();
addrs.add(serverAddress);
//鉴权认证
MongoCredential credential = MongoCredential.createCredential(MONGO_USERNAME, MONGO_DATABASE, MONGO_PASSWORD.toCharArray());
List credentials = new ArrayList();
credentials.add(credential);
//创建client对象
MongoClient mongoClient = new MongoClient(addrs, credentials);
//获取数据库对象
MongoDatabase mongoDatabase = mongoClient.getDatabase(MONGO_DATABASE);
//获取集合对象
MongoCollection collection = mongoDatabase.getCollection(MONGO_COLLECTION);
//查找数据
String queryJson = "{'id' : '1232'}";
BasicDBObject queryObject = BasicDBObject.parse(queryJson);
FindIterable findIterable = collection.find(queryObject);
MongoCursor mongoCursor = findIterable.iterator();
while (mongoCursor.hasNext()) {
Document document = mongoCursor.next();
.....
break;
}