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

相关文章

MySQL数据库约束深入详解

《MySQL数据库约束深入详解》:本文主要介绍MySQL数据库约束,在MySQL数据库中,约束是用来限制进入表中的数据类型的一种技术,通过使用约束,可以确保数据的准确性、完整性和可靠性,需要的朋友... 目录一、数据库约束的概念二、约束类型三、NOT NULL 非空约束四、DEFAULT 默认值约束五、UN

关于MongoDB图片URL存储异常问题以及解决

《关于MongoDB图片URL存储异常问题以及解决》:本文主要介绍关于MongoDB图片URL存储异常问题以及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录MongoDB图片URL存储异常问题项目场景问题描述原因分析解决方案预防措施js总结MongoDB图

Linux命令之firewalld的用法

《Linux命令之firewalld的用法》:本文主要介绍Linux命令之firewalld的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux命令之firewalld1、程序包2、启动firewalld3、配置文件4、firewalld规则定义的九大

Linux之计划任务和调度命令at/cron详解

《Linux之计划任务和调度命令at/cron详解》:本文主要介绍Linux之计划任务和调度命令at/cron的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux计划任务和调度命令at/cron一、计划任务二、命令{at}介绍三、命令语法及功能 :at

数据库面试必备之MySQL中的乐观锁与悲观锁

《数据库面试必备之MySQL中的乐观锁与悲观锁》:本文主要介绍数据库面试必备之MySQL中乐观锁与悲观锁的相关资料,乐观锁适用于读多写少的场景,通过版本号检查避免冲突,而悲观锁适用于写多读少且对数... 目录一、引言二、乐观锁(一)原理(二)应用场景(三)示例代码三、悲观锁(一)原理(二)应用场景(三)示例

Node.js 数据库 CRUD 项目示例详解(完美解决方案)

《Node.js数据库CRUD项目示例详解(完美解决方案)》:本文主要介绍Node.js数据库CRUD项目示例详解(完美解决方案),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考... 目录项目结构1. 初始化项目2. 配置数据库连接 (config/db.js)3. 创建模型 (models/

Linux ls命令操作详解

《Linuxls命令操作详解》通过ls命令,我们可以查看指定目录下的文件和子目录,并结合不同的选项获取详细的文件信息,如权限、大小、修改时间等,:本文主要介绍Linuxls命令详解,需要的朋友可... 目录1. 命令简介2. 命令的基本语法和用法2.1 语法格式2.2 使用示例2.2.1 列出当前目录下的文

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Ubuntu中远程连接Mysql数据库的详细图文教程

《Ubuntu中远程连接Mysql数据库的详细图文教程》Ubuntu是一个以桌面应用为主的Linux发行版操作系统,这篇文章主要为大家详细介绍了Ubuntu中远程连接Mysql数据库的详细图文教程,有... 目录1、版本2、检查有没有mysql2.1 查询是否安装了Mysql包2.2 查看Mysql版本2.