记录首次安装并简单使用MongoDB

1. MongoDB的一些基本概念
  1. 官方介绍: mongodb是属于文档型的非关系型数据库,是开源、高性能、高可用、可扩展的
  2. 翻译成能听懂的就是:mongodb是nosql数据库,数据以key-value的形式文档是以BSON(binary json)格式存储的,其格式就是json格式,这类的数据库会用hash表生成特定的键,取值效率很高
  3. 与mysql的对比
  4. mongodb中一个document对应mysql中的一行数据,document里可以包含多种类型的field,可以是日期、数字等,也可以是数组,还可以内嵌别的文档
  5. document支持的数据类型如下
  6. mongoDB的使用场景

MongoDB 的适用场景为:数据不是特别重要(例如通知,推送这些),数据表结构变化较为频繁,数据量特别大,数据的并发性特别高,数据结构比较特别(例如地图的位置坐标),这些情况下推荐使用 MongoDB
MongoDB数据存在内存,由linux系统mmap实现,当内存不够时,只将热点数据放入内存,其他数据存在磁盘。

2. Linux安装配置MongoDB(单机版)
  1. MongoDB下载地址
  2. 将下载好的 mongodb-linux-x86_64-4.0.13.tgz文件上传到云服务器
  3. 创建mongodb目录并解压文件到目录下
  • tar -zxvf mongodb-linux-x86_64-4.0.13.tgz -C /tools/mongodb
  • 进入文件夹 创建数据目录db 日志目录logs 配置文件mongodb.conf
  1. mongodb.conf 配置如下
#数据存放目录
dbpath = /tools/mongodb/mongodb-linux-x86_64-4.0.13/db
#日志文件存放目录
logpath = /tools/mongodb/mongodb-linux-x86_64-4.0.13/logs/mongodb.log
#端口
port = 27017
#以守护线程的方式启用,即在后台运行
fork = true
#日志输出方式,使用追加的方式写日志
logappend = true
#PID File 的完整路径,如果没有设置,则没有PID文件
pidfilepath = /tools/mongodb/mongodb-linux-x86_64-4.0.13/mongo.pid
#关闭http接口,默认关闭27018端口访问
#nohttpinterface = true
#可以访问的地址. 127.0.0.1表示自己访问,  0.0.0.0 表示所有人都能访问
bind_ip = 0.0.0.0 
#声明这是一个集群的分片,默认端口是27018
shardsvr = true
#设置每个数据库将被保存在一个单独的目录
#directoryperdb = true
#开启认证
#auth = true
#设开启简单的rest API,置后打开28017网页端口
#rest = true
  1. #bin目录下 启动MongoDB服务

./mongod --config /tools/mongodb/mongodb-linux-x86_64-4.0.13/mongodb.conf

  1. #bin目录下 停止MongoDB服务

./mongo 127.0.0.1:27017/admin --eval “db.shutdownServer()”

  1. 使用navicat连接mongoDB
3.springboot项目集成MongoDB
  1. 导入mongodb连接驱动
		<dependency>
            <groupId>org.mongodb</groupId>
            <artifactId>mongodb-driver-sync</artifactId>
            <version>4.0.3</version>
        </dependency>
  1. 这里只是简单测试查询和删除数据
@Test
    public void test1(){
        MongoClient mongoClient = MongoClients.create("mongodb://服务器ip:27017");
        MongoDatabase database = mongoClient.getDatabase("mytest");
        MongoCollection<Document> collection = database.getCollection("student");

        Document document = new Document();
        document.append("username","张三").append("intro","左右为难");
        // 插入入一条数据
        collection.insertOne(document);
        // 查询所有数据
        FindIterable<Document> documents = collection.find();
        documents.forEach(doc -> {
            System.out.println(doc);
        });
    }

在这里插入图片描述

  • 删除数据
@Test
    public void test1(){
        MongoClient mongoClient = MongoClients.create("mongodb://服务器ip:27017");
        MongoDatabase database = mongoClient.getDatabase("mytest");
        MongoCollection<Document> collection = database.getCollection("student");

        Document document = new Document();
        document.append("username","张三");
        // 插入入一条数据
        collection.deleteOne(document);
        // 查询所有数据
        FindIterable<Document> documents = collection.find();
        documents.forEach(doc -> {
            System.out.println(doc);
        });
    }

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值