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

相关文章

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.

Oracle数据库常见字段类型大全以及超详细解析

《Oracle数据库常见字段类型大全以及超详细解析》在Oracle数据库中查询特定表的字段个数通常需要使用SQL语句来完成,:本文主要介绍Oracle数据库常见字段类型大全以及超详细解析,文中通过... 目录前言一、字符类型(Character)1、CHAR:定长字符数据类型2、VARCHAR2:变长字符数

Win11安装PostgreSQL数据库的两种方式详细步骤

《Win11安装PostgreSQL数据库的两种方式详细步骤》PostgreSQL是备受业界青睐的关系型数据库,尤其是在地理空间和移动领域,:本文主要介绍Win11安装PostgreSQL数据库的... 目录一、exe文件安装 (推荐)下载安装包1. 选择操作系统2. 跳转到EDB(PostgreSQL 的

SpringBoot实现数据库读写分离的3种方法小结

《SpringBoot实现数据库读写分离的3种方法小结》为了提高系统的读写性能和可用性,读写分离是一种经典的数据库架构模式,在SpringBoot应用中,有多种方式可以实现数据库读写分离,本文将介绍三... 目录一、数据库读写分离概述二、方案一:基于AbstractRoutingDataSource实现动态

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

mysql数据库重置表主键id的实现

《mysql数据库重置表主键id的实现》在我们的开发过程中,难免在做测试的时候会生成一些杂乱无章的SQL主键数据,本文主要介绍了mysql数据库重置表主键id的实现,具有一定的参考价值,感兴趣的可以了... 目录关键语法演示案例在我们的开发过程中,难免在做测试的时候会生成一些杂乱无章的SQL主键数据,当我们