mongodb跨集合查询_MongoDB 入门看这篇就够了

本文介绍了MongoDB的基础知识,包括其体系结构、BSON数据格式、安装步骤、连接数据库、MongoDB命令以及各种操作,如数据添加、查询、更新和删除。还详细讲解了索引的类型、管理和使用,如单键索引、复合索引、地理空间索引和全文索引。文章最后讨论了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体系结构

82e8fc81175b0884451d875f5287ff6a.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 中 可以出现的数据类型

9deede632610f6f6815d9f78a36ad243.png

安装

官网

https://www.mongodb.com/

1083cab8e451b3b1666af5bbca6bbeb0.png

选择自己合适的下载。

ea5c3a8a9f1dccd23c864e199661a16e.png

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

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

08bb98fcd876b33fa8d98d22e091b266.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

6a9d375ee6f7ca828f03af400bb1f592.png

说明启动成功啦。

连接

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

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

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

57ff4743dc026e06fa6e679fcd7f5d76.png

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

mongobooster下载地址:

https://nosqlbooster.com/downloads

31d6500b713e37b2ad64059c0cad993d.png

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

c327683f07120635efafe2b4664f254f.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();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值