MongoDB-数据库-mongoose-图形化操作

本文详细介绍了MongoDB数据库的设置、命令操作、数据类型,重点讲解了Mongoose在Node.js中的使用,包括多种连接数据库的方式,并探讨了数据库的CRUD操作。此外,还提到了图形化操作、MongoDB的密码配置以及关系型与非关系型数据库的对比。
摘要由CSDN通过智能技术生成

MongoDB

1 简介

MongoDB 是为快速开发互联网Web应用而设计的数据库系统,官方地址 https://www.mongodb.com/

数据库(DataBase)是按照数据结构来组织、存储和管理数据的仓库。是一个应用程序.

数据库:用于存储数据。可以通过命令操作数据。
关系型数据库(结构型数据库) : sql server mysql


行 列
商品信息表 goodsId goodsName goodsPrice createTime

   用户信息表

非关系型数据库(非结构数据库):no sql mongodb 日志处理。
库userList
集合collection my
文档 document {userName:”张三"}
{age:12}

2 数据库的设置

2.1 三个重要概念

  • 一个服务可以创建多个数据库
  • 数据库(database) 数据库是一个仓库,在仓库中可以存放集合
  • 集合(collection) 集合类似于JS中的数组,在集合中可以存放文档
  • 文档(document) 文档数据库中的最小单位,类似于 JS 中的对象,在 MongoDB 中每一条数据都是一个 JS 的对象

2.2 关闭服务

控制面板-》管理工具-》服务-》MongoDB server
        右击停止服务;右击属性将服务禁用

2.3 环境变量

打开控制台,输入mongo回车。
提示的内容如果是“不是内部命令”,需要配置环境变量。

我的电脑--》属性-》高级系统设置-》高级-》系统变量-》path
C:\Program Files\MongoDB\Server\4.2\bin

3 数据库命令(增删改查)

3.1 基本命令

手动挂载数据库

mongo命令可以让我们进入到mongo的交互环境,在该环境当中可以通过命令操作数据库

1、创建一个文件夹mongo用于存放数据库文件。
2、执行命令: mongod --dbpath D:\mongo
3、将控制台最小化。(不要关闭控制台)
4、重新打开控制台,输入mongo命令。 

其它命令

show dbs         :显示当前的数据库列表
show collections :显示当前数据库的集合列表
use admin        :进入到admin数据库
db               :查看当前所在的数据库。             
db.dropDatabase():删除当前的数据库
db.createCollection("userList")  :创建一个名字为userList的集合
db.userList.drop(): 删除名字为userList的集合
db.scoreList.renameCollection("my"): 将当前数据库当中的scoreList集合更名为my

3.2 增加命令

//在userlist集合中插入一条文档。 会检测是否存在对应的库与集合,如果不存在会自动 创建。
db.userlist.insert({
   a:1,b:2,userName:"zhangsan"})

// 插入多条数据
db.scorelist.insert([{
   userName:"李四"},{
   userName:"王五"}]

// 导入数据:* 不要在mongo命令下导入,退出mongo环境。
mongoimport --db tiechui --collection scoreList --file D:\210225\Lession21\code\data.txt  --drop
// --db:指定数据库名
// --collection:指定集合名
// --file:指定导入的数据文件
// --drop:不是必填项。 省略该项,为追加。使用该项,会将之前的数据删除掉。

3.3 删除命令

// 删除满足条件的所有文 档
 db.scoreList.remove({
   sex:"男"})

// 删除满足条件的第一条记录
 db.scoreList.remove({
   sex:"女"},{
   justOne:true})

// 删除所有记录
 db.scoreList.remove({
   })

3.4 修改命令

// 更新一个
db.collection.updateOne(查询条件,要更新的内容[,配置对象]) 
// 批量更新
db.collection.updateMany(查询条件,要更新的内容[,配置对象])

// 第一个参数是条件,第二个参数是修改内容。完整修改。
 db.scoreList.update({
   userName:"李昂"},{
   sex:"男"})

// 条件年龄等于12,只修改名字为张三丰。只会修改第一个满足条件的文档
 db.scoreList.update({
   age:12},{
   $set:{
   userName:"张三丰"}})

// 根据条件修改多条文档。加上{multi:true})才能多条
 db.scoreList.update({
   age:12},{
   $set:{
   sex:"女"}},{
   multi:true})

// 当条件无法满足时,将upsert设置为true,可以增加一条记录
 db.scoreList.update({
   age:1000},{
   userName:"王振",sex:"男"},{
   upsert:true})

// 满足条件的记录中的年龄加100
 db.scoreList.update({
   userName:"张三丰"},{
   $inc:{
   age:100}})

3.5 查找命令

// 根据条件查找一条记录
db.scoreList.findOne({
   age:12})

//  将当前数据库下的scoreList集合中的文档进行显示。
  db.scoreList.find()

// 统计当前数据库scoreList集合的文档数量
 db.scoreList.count()

// 查找名字为王五的记录
 db.scoreList.find({
   userName:"王五"}))

// 查找年龄为12的所有记录
  db.scoreList.find({
   age:12})

// 查找年龄为12且性别为女。多条件查找
 db.scoreList.find({
   age:12,sex:"女"})

// 模糊搜索:查找名字当中包含孙
 db.scoreList.find({
   userName://})

// 年龄大于12的所有文档记录 
 db.scoreList.find
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值