一、安装
1.下载tar包
https://www.mongodb.com/dr/fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.0.3.tgz/download?from=dcv2
2.上传,解压,移动
把下载的tar包上传到/opt目录下,解压tar包并移动
tar -zxvf mongodb-linux-x86_64-rhel70-4.0.3.tgz
mv mongodb-linux-x86_64-rhel70-4.0.3.tgz/ /usr/local/mongodb
3.创建数据和日志存储路径
cd /usr/local/mongodb
mkdir data && mkdir data/db
touch data/logs
4.编写配置文件
cd /usr/local/mongodb/bin
vim mongodb.conf
5.将以下配置复制到mongodb.conf文件
#修改绑定的ip,默认是127.0.0.1,只允许本地连接;0.0.0.0表示所有网段都可以连接
bind_ip=0.0.0.0
#指定端口,如果不写的话,默认是27017
port=27017
#指定存储数据的文件夹
dbpath=/usr/local/mongodb/data/db
#日志以增加方式产生
logappend=true
#后台运行
fork=true
#指定日志存储文件
logpath=/usr/local/mongodb/data/logs
6.保存退出,启动mongodb数据库服务
cd /usr/local/mongodb/bin
./mongod -f mongodb.conf
7.客户端连接mongodb
cd /usr/local/mongodb/bin
./mongo 127.0.0.1
二.创建新用户
①查看所有数据库
>show dbs
②选择数据库
>use admin
③创建用户
> db.createUser({user:"tan",pwd:"123456",roles:[{role:"userAdminAnyDatabase",db:"admin"}]})
④验证刚刚新创建的用户
>db.auth('tan','123456')
⑤退出
>exit
配置自启动
cd /usr/lib/systemd/system
vim mongodb.service
在文件中添加一下内容:
[Service]
Type=forking
ExecStart=/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/bin/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/mongodb/bin/mongod --shutdown -f /usr/local/mongodb/bin/mongodb.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
设置开机自启动
systemctl enable mongodb.service
三、java基本操作
增加pom依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
添加
@Test
public void testMongodbadd(){
//连接到mongodb服务
MongoClient mongoClient = new MongoClient("192.168.88.129", 27017);
//连接到数据库
MongoDatabase database = mongoClient.getDatabase("admin");
//创建集合
database.createCollection("tansky");
//选择集合
MongoCollection<Document> tansky = database.getCollection("tansky");
//插入文档
Document document = new Document("title", "MONGODB");
document.append("name","zhangsan");
document.append("sex","男");
document.append("age","24");
ArrayList<Document> documents = new ArrayList<>();
documents.add(document);
tansky.insertMany(documents);
//检索所有文档
FindIterable<Document> iterable = tansky.find();
MongoCursor<Document> iterator = iterable.iterator();
while (iterator.hasNext()){
System.err.println(iterator.next());
}
}
可在服务端查看tansky集合的所有文档
> db.tansky.find().pretty()
{
"_id" : ObjectId("5bd03c5e0af50e45108a67fa"),
"title" : "MONGODB",
"name" : "zhangsan",
"sex" : "男",
"age" : "24"
}
更新
@Test
public void testMongodbupdate(){
//连接到mongodb服务
MongoClient mongoClient = new MongoClient("192.168.88.129", 27017);
//连接到数据库
MongoDatabase database = mongoClient.getDatabase("admin");
//选择集合
MongoCollection<Document> tansky = database.getCollection("tansky");
//更新文档 将文档中所有age=24的数据都修改为age=100(updateOne()方法只更新单条数据)
tansky.updateMany(Filters.eq("age", "24"), new Document("$set", new Document("age", "100")));
//检索所有文档
FindIterable<Document> iterable = tansky.find();
MongoCursor<Document> iterator = iterable.iterator();
while (iterator.hasNext()){
System.err.println(iterator.next());
}
}
删除
@Test
public void testMongodbdelete(){
//连接到mongodb服务
MongoClient mongoClient = new MongoClient("192.168.88.129", 27017);
//连接到数据库
MongoDatabase database = mongoClient.getDatabase("admin");
//选择集合
MongoCollection<Document> tansky = database.getCollection("tansky");
//删除符合条件的第一个文档(deleteMany()是删除所有符合条件的文档)
tansky.deleteOne(Filters.eq("age","100"));
}