MongoDB Quick Start


  • 安装
  • 使用
  • 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;
}

你可能感兴趣的:(MongoDB Quick Start)