MongoDb数据库的使用

本文详细介绍了MongoDB数据库的安装、启动、关闭及基本操作,包括增删改查。同时,讲解了在Node.js环境中使用mongoose库进行数据库操作的方法,包括数据模型的定义、连接数据库以及数据的增删改查实例。通过本文,读者可以掌握MongoDB的基础使用及在Node.js中的应用。

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

MongoDB数据库的基本使用

在这里我将总结mongodb数据库的基本使用以及node中如何操作Mongodb

一、MongoDB数据库的基本使用

1.安装数据库

下载地址:地址:https://www.mongodb.com/download-center/community

2.环境配置:地址:https://www.cnblogs.com/xiaozhaoboke/p/11479144.html

3.启动数据库:控制台输入:mongod

4.关闭数据库:可以直接关闭控制台/也可以直接ctrl+c

5.在服务端启动完还需要在客户端启动:输入mongo连接数据库

6.退出数据库:exit

7.三个概念:

​ 数据库:是一个仓库,可以存放集合

​ 集合:类似于数组,在集合中可以存放文档

​ 文档:文档是数据库中最小的单位

8.Mongo基本命令:

​ show dbs :显示所有数据库

​ use 集合名:使用当前数据库,如果没有,则会自动创建

​ db:显示当前所使用的数据库

​ show collections:显示当前数据库中的所有集合

9.数据库的增删改查操作

数据库的添加数据操作:
	db.集合名.insert({})-->插入一个
	db.集合名.insert([{},{},...])-->插入多个
	db.集合名.insertOne({})-->插入一个
	db.集合名.insertMany([{},{},...])-->插入多个
	//注:数据库中的每一个文档都有唯一的id 属性值,你可以自己指定但是要确保唯一
数据库的查找操作:
	db.集合名.find()-->查找该数据库集合所有文档
	db.集合名.findOne({})-->查找符合条件的第一个文档
	db.集合名.find()
数据库的更新操作:
	db.集合名.update({},{})//接受两个对象,第一个对象代表查找的对象,第二个对象代表要更新的数据,但是update默认会用第二个对象替换旧对象,如果想修改某个属性,需要使用条件操作符
	update()默认只会修改符合条件的第一个文档,如果要修改多个要加第三个参数multi:true
    db.集合名.updateMany()--修改多个文档
    db.集合名.updateOne()--修改一个文档
数据库的删除操作:
	db.集合名.deleteOne({})--删除符合条件的第一个文档
    db.集合名.deleteMany({})--删除符合条件的多个文档
    db.集合名.remove({})--删除符合条件的文档,默认也会删除多个
删除数据库:db.dropDatebase()
删除集合:db.集合名.drop()
条件操作符:
	$gt大于     $lt小于   $gte大于等于    $lte小于等于    eq等于   $or:[{},{},....]选择关系
    limit()-设置数据的显示上限,用来分页
	skip()-用于跳过指定的数量的数据

二、node中操作mongodb数据库

1.基本使用:node中操作MongoDb数据库需要使用第三方包—mongoose来操作数据库

​ npm i mongoose require(‘mongoose’)

2.mongoose初识

//设计数据库的结构
const mongoose=require('mongoose')

//数据库的连接
mongoose.connect('mongodb://localhost:27017/test2',{
  useNewUrlParser:true,
  useUnifiedTopology:true
})

//规范模型结构和约束
const Schema=mongoose.Schema

const stuSchema=new Schema({
  name:{
    type:String,
    required:true
  },
  age:{
    type:Number,
    required:true
  },
  hobbies:{
    type:String,
    required:true
  },
  gender:{
    type:String,
    enum:[0,1],
    default:0
  }
})

//创建模型并引入规范
module.exports=mongoose.model('Student',stuSchema)

3.对数据库中数据的增删改查

数据添加:
	let 文档名=new 集合名({数据})
    文档名.save().then()
数据删除:
	集合名.deleteOne({文档内容},function((error,ret){}))
    集合名.deleteMany({文档数据},function((error,ret){}))
数据查找:
	集合名.find((err,ret)=>{})查询全部
    集合名.find({文档数据},(err,ret)=>{})查询符合条件的全部
    集合名.findOne({文档},(err,ret)=>{})查询符合条件的单个对象
数据更改:
	集合名.findByIdAndUpdate({_id:},{更新的内容},(err,ret)=>{返回修改前的数据})
	集合名.findOneAndUpdate({查询条件},{更改内容},(err,ret)=>{})

4.用案例来了解node中的具体操作—增删改查

github连接地址:https://github.com/2019083310/exercise

里面还有好多前端练习的项目和小案例,希望可以帮助到大家。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值