mongodb 字符串转bson_MongoDB 入门看这篇就够了

本文介绍了MongoDB的基本概念、安装步骤、连接数据库的方法、MongoDB命令及操作,包括数据添加、查询、更新和删除。重点讲解了BSON数据格式及其特性,以及MongoDB的索引类型和管理,包括单键索引、复合索引、地理空间索引和全文索引。此外,还涵盖了聚合操作、MapReduce编程模型和慢查询分析。
摘要由CSDN通过智能技术生成

前言

文章内容输出来源:拉勾教育Java高薪训练营;

NoSQL=Not Only SQL,支持类似SQL的功能, 与Relational Database相辅相成。其性能较高,不使用SQL意味着没有结构化的存储要求(SQL为结构化的查询语句),没有约束之后架构更加灵活。

NoSQL数据库四大家族 列存储 Hbase,键值(Key-Value)存储 Redis,图像存储 Neo4j,文档存储 MongoDB

MongoDB 是一个基于分布式文件存储的数据库,由 C++ 编写,可以为 WEB 应用提供可扩展、高性能、易部署的数据存储解决方案。

MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库中功能最丰富、最像关系数据库的。在高负载的情况下,通过添加更多的节点,可以保证服务器性能。

MongoDB体系结构

4dea48f4fd4375d292924062850ddd1a.png

MongoDB使用了BSON这种结构来存储数据和网络数据交换。那 BSON 是什么呢?

BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON,它和JSON一样,支持内嵌的文档对象和数组对象,但是BSON有JSON没有的一些数据类型,如Date和Binary Data类型。BSON可以做为网络数据交换的一种存储形式,是一种schema-less的存储形式,它的优点是灵活性高,但它的缺点是空间利用率不是很理想。{key:value,key2:value2} 这是一个BSON的例子,其中key是字符串类型,后面的value值,它的类型一般是字符串,double,Array,ISODate等类型。

BSON有三个特点:轻量性、可遍历性、高效性

MongoDB把 BSON 这种格式转化成一文档这个概念(Document),这里的一个Document也可以理解成关系数据库中的一条记录(Record),只是这里的Document的变化更丰富一些,如Document可以嵌套。

MongoDB中Document 中 可以出现的数据类型

a52071d6e22b96854f608701999b4f8f.png

安装

官网

https://www.mongodb.com/

2ceed02766189c1b4432415da677abdd.png

选择自己合适的下载。

334563275924f286cab9bacd57210303.png

下载之后安装,我这里下载的是 linxu 版本。放到服务器上之后解压

tar -zxvf mongodb-linux-x86_64-4.1.3.tgz

51a19c5053b08a9012026501b55bd4d5.png

编写 mongo.conf

创建配置文件,配置内容如下。指定路径端口和访问ip 等等配置。

dbpath=/data/mongo/
port=27017
bind_ip=0.0.0.0
fork=true
logpath = /data/mongo/MongoDB.log
logappend = true 
auth=false

参数说明:

参数 说明

启动

./mongod -f mongo.conf

3bfb8ce4c732b432c5524b3099905ed0.png

说明启动成功啦。

连接

我们mongo 服务已经启动了,我们怎么像进入 mysql 进入mongo 数据库呢?

#默认配置启动
./bin/mongo

#指定主机和端口的方式启动
./bin/mongo --host=127.0.0.1 --port 27017

797b1db33bd9ae0588fed8d57e6e58d0.png

我们可以通过可视化工具来使用,类似于MySQL 的 navicat。

mongobooster下载地址:

https://nosqlbooster.com/downloads

60a75c3a1404b05682cf1dba8f1f3b10.png

下载安装完之后,连接mongo 数据库就可以了

f2e42bb92ca7f7f74c61e802e7472ec8.png

Mongo 命令

MongoDB 的基本操作

库级别

1、查看数据库

show dbs; 

2、创建数据库(切换数据库)

use 数据库名; 
eg:
use test

3、删除库

#删除当前数据库 
db.dropDatabase();

表级别

1、创建集合

db.createCollection("集合名") 

2、查看集合

show tables; 
show collections; 

3、删除集合

db.集合名.drop(); 
eg:
db.user.drop();

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值