Skr-Eric的MongoDB课堂(二)——MongoDB的数据库与集合命令

2024-03-14 03:10

本文主要是介绍Skr-Eric的MongoDB课堂(二)——MongoDB的数据库与集合命令,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Mongodb 命令

 

设置数据库存储位置

mongod --dbpath  目录

  e.g.  将存储路径设置为dbs

mongod --dbpath  dbs

 

设置数据库监听端口

mongod --port  8080

* 默认监听端口27017

 

mongo

进入数据库交互操作界面

mongo shell : 用来操作mongodb数据库的界面,在这里可以使用mongo语句操作数据库内容

退出mongo shell:quit()  exit  ctrl-c

组织结构 : 键值对 --》 文档 --》集合 --》 数据库

 

---------------------------------

 ID   |   NAME   |   AGE

---------------------------------

 1    |   Lily   |   17

---------------------------------

 2    |   Lucy   |   18

---------------------------------

 

{

  "ID":1,

  "NAME":'Lily',

  "AGE":17

},

{

  "ID":2,

  "NAME":'Lucy',

  "AGE":18

}

 

mysql 和 mongodb 概念对比

mysql        mongodb         含义

database     database       数据库

table        collection     表/集合

column       field          字段/域

row          document       记录/文档

index        index          索引

 

 

三个表

1. 用户信息      1

2. 朋友圈内容   多       多

3. 其他用户点赞,评论    多

 

{id:xxx,name:'zhan',age:12,pyq:[{date:xxx,conten:xxx,image:[1,2,3],zan:[id1,id2],pl:[{date:xxx,con:xxx},{},{}]},{},{}]}

 

创建数据库

use  databaseName

 e.g.  创建一个名字为stu的数据库

 use stu

 * use实际为选择使用哪个数据库,当数据库不存在时会自动创建

 * use 后并不会立即创建出数据库,而是需要等到插入数据时数据库才会创建

 

查看系统中的数据库

show dbs

系统数据库说明

 admin : 存储用户信息

 local : 存储本地数据

 config : 存储分片信息

 

数据库命名规则

1. 使用utf-8字符 (mongo默认支持utf-8)

2. 不能含有空格  .  /  \   '\0' 字符

3. 长度不超过64字节

4. 不能和系统数据库重名

db : mongodb的全局量,代表当前正在使用的数据库

* 如果不选择使用任何数据库db代表test,直接插入数据就会建立test数据库

 

数据库的备份和恢复

备份  mongodump  -h host  -d  dbname -o  bak

e.g. 将本机test数据库备份到bak目录下

mongodump -h 127.0.0.1 -d test -o bak

 

恢复  mongorestore  -h  dbhost:port -d  dbname path

e.g. 将test数据库恢复到本机的res数据库中(res不存在自动创建)

 mongorestore -h 127.0.0.1:27017 -d res  bak/test

 

数据库的监测

 mongostat  监测数据库运行数据

  insert query update delete : 每秒增查改删的次数

  flushes  每秒和磁盘交互次数

  vsize    虚拟内存

  res      物理内存

  time     时间

 mongotop  监控数据库读写时长

  ns  数据表

  total  总时间

  read   读时间

  write  写时间  

 

删除数据库

db.dropDatabase()

删除db所代表的数据库

 

创建集合

方法1

 db.createCollection(collection_name)

  e.g. 创建class1集合

  db.createCollection('class1')

 

方法2

 当向一个集合中插入数据的时候如果集合不存在则自动创建

 db.collection_name.insert(...)

查看数据库中集合

show collections

show tables

 

集合命名规则

1.合法的UTF-8字符

2.不能有‘\0’

3.不能以system.开头,因为这是系统保留集合前缀

4.不能和关键字重名

 

删除集合

db.collection.drop()

e.g. 删除class2集合

    db.class2.drop()

 

集合的重命名

db.collection.renameCollection("new_name")

e.g. 将class集合重命名为 class0

db.class.renameCollection("class0")

 

 

想要看更多的课程请微信关注SkrEric的编程课堂

这篇关于Skr-Eric的MongoDB课堂(二)——MongoDB的数据库与集合命令的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/807031

相关文章

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建

Redis 的 SUBSCRIBE命令详解

《Redis的SUBSCRIBE命令详解》Redis的SUBSCRIBE命令用于订阅一个或多个频道,以便接收发送到这些频道的消息,本文给大家介绍Redis的SUBSCRIBE命令,感兴趣的朋友跟随... 目录基本语法工作原理示例消息格式相关命令python 示例Redis 的 SUBSCRIBE 命令用于订

防止Linux rm命令误操作的多场景防护方案与实践

《防止Linuxrm命令误操作的多场景防护方案与实践》在Linux系统中,rm命令是删除文件和目录的高效工具,但一旦误操作,如执行rm-rf/或rm-rf/*,极易导致系统数据灾难,本文针对不同场景... 目录引言理解 rm 命令及误操作风险rm 命令基础常见误操作案例防护方案使用 rm编程 别名及安全删除

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

如何通过try-catch判断数据库唯一键字段是否重复

《如何通过try-catch判断数据库唯一键字段是否重复》在MyBatis+MySQL中,通过try-catch捕获唯一约束异常可避免重复数据查询,优点是减少数据库交互、提升并发安全,缺点是异常处理开... 目录1、原理2、怎么理解“异常走的是数据库错误路径,开销比普通逻辑分支稍高”?1. 普通逻辑分支 v

Python与MySQL实现数据库实时同步的详细步骤

《Python与MySQL实现数据库实时同步的详细步骤》在日常开发中,数据同步是一项常见的需求,本篇文章将使用Python和MySQL来实现数据库实时同步,我们将围绕数据变更捕获、数据处理和数据写入这... 目录前言摘要概述:数据同步方案1. 基本思路2. mysql Binlog 简介实现步骤与代码示例1

使用shardingsphere实现mysql数据库分片方式

《使用shardingsphere实现mysql数据库分片方式》本文介绍如何使用ShardingSphere-JDBC在SpringBoot中实现MySQL水平分库,涵盖分片策略、路由算法及零侵入配置... 目录一、ShardingSphere 简介1.1 对比1.2 核心概念1.3 Sharding-Sp

Go语言连接MySQL数据库执行基本的增删改查

《Go语言连接MySQL数据库执行基本的增删改查》在后端开发中,MySQL是最常用的关系型数据库之一,本文主要为大家详细介绍了如何使用Go连接MySQL数据库并执行基本的增删改查吧... 目录Go语言连接mysql数据库准备工作安装 MySQL 驱动代码实现运行结果注意事项Go语言执行基本的增删改查准备工作

MySQL 数据库表操作完全指南:创建、读取、更新与删除实战

《MySQL数据库表操作完全指南:创建、读取、更新与删除实战》本文系统讲解MySQL表的增删查改(CURD)操作,涵盖创建、更新、查询、删除及插入查询结果,也是贯穿各类项目开发全流程的基础数据交互原... 目录mysql系列前言一、Create(创建)并插入数据1.1 单行数据 + 全列插入1.2 多行数据