nodejs:mongoose模块

nodejs:mongoose模块

一、介绍

mongoose是一个让我们可以通过nodejs来操作MongoDB数据库的模块,mongoose模块里面封装了很多操作数据库的方法

二、安装

在整个项目所在的文件夹中安装

npm install mongoose -S

三、导入

安装好mongoose依赖包之后,就可以书写js代码了,创建一个.js的文件,如:mongoose.js,按照下面步骤进行书写:

const mongoose = require("mongoose");

四、连接数据库

mongoose.connect()用于连接mongodb,注意:mongoose是对Mongodb操作的封装,所以路径填写mongodb,而不是mongoose。

mongodb://localhost:27017 是默认的地址, 连接到本地数据库默认端口为27017

后面的aaa表示你自己建的数据库的名称

mongoose.connect("mongodb://localhost:27017/aaa");

五、查看数据的连接状态

mongoose.connect()返回一个状态无法确定的连接状态,所以我们需要自己手动 加上成功提醒和失败警告 。

由于connect()方法不能监听数据库连接情况,所以有一个connection属性,connection属性是mongoose模块的默认引用,返回一个Connetion对象。

所以,一般情况下此方法跟connet()方法搭配使用。

on(事件名称,回调函数) : 表示事件,

once(事件名称,回调函数) :表示事件,但只触发一次

error: 事件名称,固定写法,表示连接失败

open: 事件名称,固定写法,表示连接成功

回调函数指:事件结束时执行的函数

const db = mongoose.connection;
db.on("error",function(){
    console.log("数据库连接失败");
})
db.once("open",function(){
    console.log("数据库连接成功");
})

六、定义模式(Schema)并创建数据表

数据库已经有了,那么下面该建立数据表了,但是再建立数据表之前,mongoose要求我们先建立一个模式,如它官网所说, Mongoose 的一切始于 Schema

怎么理解呢,模式就相当于一个建立数据表的模板,通过模板来建立数据表。

下面,建立一个users表

//定义users表的模板
let usersSchema = new mongoose.Schema({
    username:String,
    password:String,
    tel:Number
});
//创建users表
let usersModel = mongoose.model("users",usersSchema);

七、使用MongoDB

我使用的是Studio 3T 这个软件来操作数据库,打开软件,创建一个和上面连接数据库的路径中一样的名字:aaa
在这里插入图片描述

测试连接状态,在node中运行mongoose.js文件(输入命令: node mongoose.js)

如果出现数据库连接成功,表示连接成功,此时,aaa这个数据库中就会出现一个名为users的数据表接下来就可以进行数据库的增删查改了。

八、数据库的增删查改

1、增

//插入一条或多条数据,一个对象表示一条数据
usersModel.insertMany([
    {
        username: "张三",
        password: 123456,
        tel: 12345678910
    },
    {
        username: "李四",
        password: 111111,
        tel: 11122233345
    }
]).then(function(res){
    // 插入完成以后会执行这个函数
    // res:表示插入的那些数据
    console.log(res)
})

2、查

//根据条件查询
//查找所有username为张三的数据
usersModel.find({username: "张三"})
.then(function(res){
    // 插入完成以后会执行这个函数
    // res:表示查到的数据
    console.log(res);
})

3、改

//修改一条数据,修改多条数据只需要把 updateOne改成 updateMany即可
//修改第一条username为张三的数据,把数据的password改为666666
usersModel.updateOne({username:"张三"},{$set: {password: "666666"}})
.then(function(res){
    // 插入完成以后会执行这个函数
    // res:表示修改是否成功的信息,
    console.log(res);
})

4、删

// 删除一条数据,删除多条数据只需要把 deleteOne改成 deleteMany即可
// 删除第一条username为张三的数据
usersModel.deleteOne({username:'张三'}).then(function(res){
    // data:表示删除是否成功的信息
    console.log(res)
})

九、完整代码

创建一个.js文件,名为mongoose.js

//导入mongoose模块
const mongoose = require("mongoose");

//连接数据库
//mongoose.connect()用于连接mongodb
mongoose.connect("mongodb://localhost:27017/aaa");

//获取数据库连接状态
const db = mongoose.connection;
db.on("error",function(){
    console.log("数据库连接失败");
})
db.once("open",function(){
    console.log("数据库连接成功");
})

//定义模式,Mongoose 的一切始于 Schema
let usersSchema = new mongoose.Schema({
    username:String,
    password:String,
    tel:Number
});

//创建数据表 users
let usersModel = mongoose.model("users",usersSchema);

/*
    增
*/

//插入一条或多条数据,一个对象表示一条数据
// usersModel.insertMany([
//     {
//         username: "张三",
//         password: 123456,
//         tel: 12345678910
//     },
//     {
//         username: "李四",
//         password: 111111,
//         tel: 11122233345
//     }
// ]).then(function(res){
//     // 插入完成以后会执行这个函数
//     // res:表示插入的那些数据
//     console.log(res)
// })

/*
    查
*/

//根据条件查询
// usersModel.find({username: "张三"})
// .then(function(res){
//     // 插入完成以后会执行这个函数
//     // res:表示查到的数据
//     console.log(res);
// })

/*
    改
*/

//修改一条数据,修改多条数据只需要把 updateOne改成 updateMany即可
// usersModel.updateOne({username:"张三"},{$set: {password: "666666"}})
// .then(function(res){
//     // 插入完成以后会执行这个函数
//     // res:表示修改是否成功的信息,
//     console.log(res);
// })

/*
    删
*/
// 删除一条数据,删除多条数据只需要把 deleteOne改成 deleteMany即可
// usersModel.deleteOne({username:'张三'}).then(function(res){
//     // data:表示删除是否成功的信息
//     console.log(res)
// })
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Node.js环境下,使用Mongoose可以方便地进行对MongoDB的增删改操作。首先,需要导入Mongoose和数据库连接配置文件,在该配置文件中,使用`mongoose.connect`方法连接到MongoDB数据库。然后,定义一个模型(Model),模型是根据数据结构定义的类,用于操作数据库中的集合。模型需要定义一个Schema来规定数据的结构。在Schema中,可以定义字段的类型、默认值等。最后,通过模型的方法,可以对数据库进行增删改操作。 增加数据: 要在数据库中增加一条数据,首先需要创建一个模型实例,并设置数据的属性,然后调用`save`方法进行保存。 删除数据: 要删除数据库中的数据,可以使用模型的`deleteOne`或`deleteMany`方法。可以根据条件指定要删除的数据。 修改数据: 要修改数据库中的数据,首先要根据条件查询到对应的数据,然后修改数据的属性,最后调用`save`方法进行保存。 以上是Node.js中使用Mongoose进行数据库的增删改操作的基本流程。具体的代码可以参考示例代码和Mongoose的官方文档进行更详细的了解和实践。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Node.js 高级篇(三):Mongoose 增删改查](https://blog.csdn.net/qq_41887214/article/details/123947394)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [mongoose 入门(一) mongoose 实现数据 的增、删、改、查、默认参数 、模块化](https://blog.csdn.net/qq_41880073/article/details/122895427)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值