Linux下安装MongoDB并创建用户 Java的增删改查操作

一、安装

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"));
    }

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值