一、安装
1.使用yum安装
- 清华大学镜像地址
- RHEL/CentOS 用户新建 /etc/yum.repos.d/mongodb.repo,内容为:
[mongodb-org]
name=MongoDB Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/mongodb/yum/el$releasever/
gpgcheck=0
enabled=1
- 刷新缓存并安装 mongodb-org 即可
sudo yum makecache
sudo yum install mongodb-org
2.安装位置
- 默认安装位置为
/user/bin
/user/etc
2.启动与关闭
*启动mongdb
service mongodb start
- 关闭mongdb
service mongodb stop
二、使用
1.mongdb shell
- 进入shell
mongo
(1).数据库基本命令
- 查看当前数据库 db:show dbs
- 切换或者新建数据库 use DATABASE_NAME, 切换数据库时如果数据库不存在,则会创建它
- 删除数据库 db.dropDatabase()
- 显示所有表(集合)show tables
- 创建用户:db.createUser
db.createUser({user:‘xdzy’,pwd:‘111’,roles:[{role:‘readWrite’,db:‘demo_db’}]})
- 修改用户:
db.changeUserPassword(‘账号’,‘密码’) - 删除用户:db.dropUser(‘账号’)
(2).集合操作
- 创建
方式一:隐式创建集合
当向集合中的插入文档时,如果集合不存在,系统会自动创建,所以向一个不存在的集合中插入数据也就是创建了集合
db.users.insert({“usernmae”: “mengdee”, “age”: 26})
方式二:显示创建集合
db.createCollection(“集合名字”, 可选配置)
db.createCollection(“address”, {capped: true, size: 10000, max:1000})
显示创建集合可以通过一些配置创建一些特殊的集合,如固定集合
固定集合只能通过调用方法显式创建,固定集合可以指定集合存储数据的大小和最多允许存储的条数
2.mongdb JavaApi
(1).导驱动包
- Jar包版
下载地址:
https://mvnrepository.com/artifact/org.mongodb/mongo-java-driver/3.11.2
- maven依赖
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.11.2</version>
</dependency>
(2).代码编写
import com.mongodb.CommandResult;
import com.mongodb.DB;
import com.mongodb.MongoClient;
public class Mongodb {
public static void main(String[] args) {
MongoClient mongoClient = new MongoClient( "localhost" , 27017 );
// 连接到数据库
DB db = mongoClient.getDB( "test" );
System.out.println("Connect to database successfully");
CommandResult auth = db.command("show db");
System.out.println("Authentication: "+auth);
}
}
三、问题与解决方法
1.启动问题
(1) pid存在
Error starting mongod. /var/run/mongodb/mongod.pid exists.启动mongodb报错
解决方法:执行以下两个命令
1、删除mongod.pid文件
rm -rf /var/run/mongodb/mongod.pid
2、修改/tmp/mongodb-27017.sock文件权限
chown mongod:mongod /tmp/mongodb-27017.sock