前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MongoDB 入门学习

MongoDB 入门学习

作者头像
叉叉敌
发布2021-12-06 15:14:27
3040
发布2021-12-06 15:14:27
举报
文章被收录于专栏:Chasays

MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。 MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

dHnpnj
dHnpnj

分布式计算的优点

  • 可靠性(容错) :

分布式计算系统中的一个重要的优点是可靠性。一台服务器的系统崩溃并不影响到其余的服务器。

  • 可扩展性:

在分布式计算系统可以根据需要增加更多的机器。

  • 资源共享:

共享数据是必不可少的应用,如银行,预订系统。

  • 灵活性:

由于该系统是非常灵活的,它很容易安装,实施和调试新的服务。

  • 更快的速度:

分布式计算系统可以有多台计算机的计算能力,使得它比其他系统有更快的处理速度。

  • 开放系统:

由于它是开放的系统,本地或者远程都可以访问到该服务。

  • 更高的性能:

相较于集中式计算机网络集群可以提供更高的性能(及更好的性价比)

分布式计算的缺点

  • 故障排除:

故障排除和诊断问题。

  • 软件:

更少的软件支持是分布式计算系统的主要缺点。

  • 网络:

网络基础设施的问题,包括:传输问题,高负载,信息丢失等。

  • 安全性:

开放系统的特性让分布式计算系统存在着数据的安全性和共享的风险等问题

安装

代码语言:javascript
复制
brew tap mongodb/brew
# 安装完了执行即可看到版本, 如果没有,添加到环境变量里面即可
(base) ➜   mongo --version
MongoDB shell version v4.0.9
git version: fc525e2d9b0e4bceff5c2201457e564362909765
allocator: system
modules: none
build environment:
    distarch: x86_64
    target_arch: x86_64

主要还有一些配置文件

  • 配置文件 (/usr/local/etc/mongod.conf)
  • 日志目录路径 (/usr/local/var/log/mongodb)
  • 数据目录路径 (/usr/local/var/mongodb) 数据库文件都存在这里

安装好了,还要在后台启动该程序

代码语言:javascript
复制
mongod --dbpath /usr/local/var/mongodb --logpath /usr/local/var/log/mongodb/mongo.log --fork

## 注释
--dbpath 设置数据存放目录
--logpath 设置日志存放目录
--fork 在后台运行
zpctwH
zpctwH

连接

配置了环境变量,直接输入mongo就可以启动了。

bkwPs0
bkwPs0

为了方便记忆,和SQL对于起来看下哪有那些专业名词。

https://www.runoob.com/mongodb/mongodb-databases-documents-collections.html

SQL术语/概念

MongoDB术语/概念

解释/说明

database

database

数据库

table

collection

数据库表/集合

row

document

数据记录行/文档

column

field

数据字段/域

index

index

索引

table joins

表连接,MongoDB不支持

primary key

primary key

主键,MongoDB自动将_id字段设置为主键

  • show dbs 就是查看所有的数据列表
PTb46k
PTb46k
  • db是查看当前的连接数据库, use是切换数据库
SHd08a
SHd08a
  • db.xx.insert 就是插入数据
oQs4RU
oQs4RU

插入数据有常见的几种,数据内容格式为Json格式。

  • 一条文档数据
代码语言:javascript
复制
db.collection.insertOne({"test":22})
2JEPT1
2JEPT1
  • 多条数据
代码语言:javascript
复制
document = [
  {"test":22}, {"test11":221}
]
db.collection.insertMany(document)
dKSeh6
dKSeh6
  • 还有放到for循环 然后,直接把数组insert到集合中
代码语言:javascript
复制
var lst = []
for (var i =1;i<1000;i++) {
  lst.push({num:i});
}
db.numbers.insert(lst)
MHBWJe
MHBWJe
  • remove 这个是删除集合, 但是不会真正的释放空间,需要用repairDatabase, 还有deleteMany 和deleteOne方法
代码语言:javascript
复制
db.inventory.deleteMany({})
db.inventory.deleteMany({ status : "A" })

db.repairDatabase()

比如刚刚插入的999条记录,就可以删除了

FxlxPb
FxlxPb
  • find 查看类似于sql的 select语句。 里面的条件符号和linux下面的类似
代码语言:javascript
复制
(>) 大于 - $gt
(<) 小于 - $lt
(>=) 大于等于 - $gte
(<= ) 小于等于 - $lte

还有模糊查询

代码语言:javascript
复制
db.col.find({title:/叉叉敌/}) #包含
db.col.find({title:/^叉叉敌/}) # 开头
db.col.find({title:/叉叉敌$/}) # 结尾

进阶

Read more

https://awesomedataengineering.com/

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/02/06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 分布式计算的优点
  • 分布式计算的缺点
  • 安装
  • 连接
  • 进阶
  • Read more
相关产品与服务
云数据库 MongoDB
腾讯云数据库 MongoDB(TencentDB for MongoDB)是腾讯云基于全球广受欢迎的 MongoDB 打造的高性能 NoSQL 数据库,100%完全兼容 MongoDB 协议,支持跨文档事务,提供稳定丰富的监控管理,弹性可扩展、自动容灾,适用于文档型数据库场景,您无需自建灾备体系及控制管理系统。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档