Mongodb基础

这篇博客介绍了MongoDB的基础知识,包括其作为非关系型数据库的优势、安装步骤、启动和关闭数据库的方法、连接与退出操作,以及基本语法和用户创建流程。重点讲解了如何在MongoDB中创建和管理用户。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Mongodb

MongoDB是一个非关系的NoSQL数据库,与传统的数据库相比,具有以下优点:

  1. 高可扩展性
  2. 分布式存储
  3. 低成本
  4. 结构灵活
    MongoDB是以json文档形式进行存储的

一、关系型数据库和非关系型数据库

关系型数据库

表就是关系,或者表与表之间存在的关系

所有的关系型数据库都需要通过sql语言来操作
所有的关系型数据库在操作之前都需要设计表结构
而且数据表还支持约束
	唯一的 主键  默认值  非空

非关系型数据库

非关系型数据库非常的灵活

有的非关系型数据库就是key-value(键值)对
但是MongoDB是长的最像关系数据库的非关系型数据库
    数据库-------->> 数据库
    数据包-------->> 集合(数组)
    表记录-------->> (文档对象)

MongoDB不需要设计表结构
也就是说你可以任意在往里面存数据,没有结构性这么一说
SQL术语/概念MongoDB术语/概念解释/说明
databasedatabase数据库
tablecollection数据库表/集合
rowdocument数据记录行/文档
columnfield数据字段/域
indexindex索引
table joins表连接,MongoDB不支持
primary keyprimary key主键,MongoDB自行将_id字段设置为主键

二、MongoDB的安装

1、下载
2、安装(傻瓜式安装)
我的电脑---->右击属性—>高级系统设置—>环境变量---->path双击---->新建---->MongoDB的bin路径复制到这 如:c:\Program Files\MongoDB\Server\4.2\bin------>点击确定

三、启动和关闭数据库

启动

mongodb默认使用执行mongod命令所处盘符根目录下的data/db作为自己的数据存储目录
所有在第一次执行该命令之前先自己手动创建一个/data/db

启动数据库 mongod

如果想要修改默认的数据存储目录,可以:
mongod --dbpath=数据存储目录路径

停止数据库
在开启服务的控制台,直接ctrl+c命令即可停止
或者直接关闭开启服务的控制台也可以

四、连接和退出数据库

该命令默认连接本机的MongoDB服务 mongo

在连接状态输入exit退出连接 exit

五、MongoDB的基本语法

  1. 查看数据库
show dbs
  1. 创建数据库
use demo
  1. 创建集合(两种方式)
方式1:
db.createCollection("user")

方式2:创建集合并插入数据
db.users.insert({id:123,name:"hello"})

  1. 查看集合
show collections
  1. 删除数据库
db.dropDatabase()
  1. 删除集合
db.user.drop()   //user为集合名
  1. 插入数据
db.user.insert({"id":100,name:"Jack"})    //user为集合名称
  1. 查看所有数据
db.user.find()  //user为集合名称

//对查看的数据进行格式化
db.user.find().pretty()
  1. 查看第一条数据
db.user.findOne()
  1. 更新数据
db.user.update({username:"jack"},{$set:{userAge:30}})  //{username:"jack"}为更新的条件   {$set:{userAge:30}} 为设置更新的诶荣
  1. 根据条件查询数据
db.user.find({username:"jack"})
  1. 查询年龄大于40的
db.user.find({userAge:{$gt:40}}) // {$gt:40}大于40
 $gt 大于          $lt 小于      $eq 等于
 $gte 大于等于      $lte 小于等于
  1. 删除数据
db.user.remove({userId:101})
  1. 如果没有按照mongoVue这样的客户端,导入文件 可以使用:
mongoimport -d db_demo -c user --file 文件的路径

注意:在第一次使用mongodb的时候,我们要导入数据库的时候会报错
如果遇到以下的错误,需要从新开一个cmd窗口,另外直接输入类型下面的命令
如:

mongoimport --db test --collection restarants --drop --file primer-dataset.json

千万不要先进入mongo环境,再去输入这个命令,这样会报错的
如:
  [js] SyntaxError:missing :before statement @(shell):1:14

六、MongoDB给数据库创建用户

参考文档
(一)先以非授权的模式启动MongoDB
非授权:
lunux/mac : mongod -f /ongodb/etc/mongo.conf
windows: mongod --config c:\mongodb\etc\mongo.conf 或者net start mongodb(前提是mongo安装到了服务里面)
备注: /mongodb/etc/mongo.conf 位于mongo配置文件所在的地址
授权:mongod -f /mongodb/etc/mongo.conf --auth
备注:
1. --auth 代表授权成功,需要账号和密码才能访问
2. auth=true 可以加到mongo.conf配置文件里面去进行统一管理
(二)创建管理员
1. 通过非授权的方式启动mongo
2. 创建admin数据库
use admin
3. 添加管理员用户
db.createUser({user:“admin”,pwd:“123456”,roles:[“root”]})
备注:用户名和密码可随意定
4.认证
db.auth(“admin”,“123456”)
返回结果为1,代表成功

(三)以授权的方式启动mongo,给使用的数据看哭添加用户

  1. 切换数据库
    use test

  2. 创建用户
    db.createUser({user:“root”,pwd:“123456”,roles:[{role:“dbOwnre”,db:“test”}]})

  3. 通过客户端连接test数据库
    效果如下所示:
    User: root
    Password:123456
    Database: test
    创建用户完成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值