当前位置: 首页 > news >正文

山东省建设工程造价管理协会网站网站鼠标代码

山东省建设工程造价管理协会网站,网站鼠标代码,wap网站制作怎么做,营销策划方案怎么做为 Node.js 与 MongoDB 之间提供了一个更高级、更便捷的交互方式。 一、安装 # 使用 npm 安装npm install mongoose 二、基本使用 1. 连接数据库 const mongoose require("mongoose");// 数据库连接 URIconst uri "mongodb://localhost:27017/myDatabase…

为 Node.js 与 MongoDB 之间提供了一个更高级、更便捷的交互方式。

一、安装

# 使用 npm 安装npm install mongoose

二、基本使用

1. 连接数据库

const mongoose = require("mongoose");// 数据库连接 URIconst uri = "mongodb://localhost:27017/myDatabase";// 连接到 MongoDBmongoose.connect(uri, {useNewUrlParser: true,useUnifiedTopology: true,});// 获取数据库连接对象const db = mongoose.connection;// 监听连接成功事件db.on("connected", () => {console.log("Connected to MongoDB");});// 监听连接错误事件db.on("error", (err) => {console.error("MongoDB connection error:", err);});

2. 定义数据模型

数据模型是基于 Schema 定义的。Schema 定义了文档的结构和数据类型,而模型则是基于 Schema 创建的构造函数,用于操作数据库中的文档。

// 定义 Schemaconst userSchema = new mongoose.Schema({name: String,age: Number,email: {type: String,unique: true,},});// 创建模型const User = mongoose.model("User", userSchema);

三、文档操作

1. 创建文档

使用模型的构造函数创建一个新的文档实例,然后调用 `save()` 方法将其保存到数据库中。

const newUser = new User({name: "John",age: 30,email: "john@example.com",});newUser.save().then((savedUser) => {console.log("Saved user:", savedUser);}).catch((err) => {console.error("Error saving user:", err);});

2. 查询文档

使用模型的静态方法(如 `find()`、`findOne()` 等)来查询文档。

// 查询所有用户User.find().then((users) => {console.log("All users:", users);}).catch((err) => {console.error("Error finding users:", err);});// 根据条件查询单个用户User.findOne({ name: "John" }).then((user) => {console.log("User:", user);}).catch((err) => {console.error("Error finding user:", err);});

3. 更新文档

使用模型的静态方法(如 `updateOne()`、`updateMany()` 等)或文档实例的 `update()` 方法来更新文档。

// 更新单个文档User.updateOne({ name: "John" }, { age: 31 }).then((result) => {console.log("Update result:", result);}).catch((err) => {console.error("Error updating user:", err);});

4. 删除文档

使用模型的静态方法(如 `deleteOne()`、`deleteMany()` 等)来删除文档。

// 删除单个文档User.deleteOne({ name: "John" }).then((result) => {console.log("Delete result:", result);}).catch((err) => {console.error("Error deleting user:", err);});

5. 数据验证

`mongoose` 提供了强大的数据验证功能,可以在 Schema 中定义验证规则,确保插入或更新的数据符合要求。如下:`name` 字段是必需的,`age` 字段的取值范围在 18 到 100 之间,`email` 字段有唯一约束,并且使用自定义的验证函数来验证邮箱格式。

const userSchema = new mongoose.Schema({name: {type: String,required: true,},age: {type: Number,min: 18,max: 100,},email: {type: String,unique: true,validate: {validator: function (value) {return /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/.test(value);},message: "Invalid email address",},},});

四、中间件

`mongoose` 支持中间件,允许在文档保存、更新、删除等操作前后执行自定义逻辑。

userSchema.pre("save", function (next) {// 在保存文档之前执行的逻辑console.log("Before saving user:", this);next();});userSchema.post("save", function (doc, next) {// 在保存文档之后执行的逻辑console.log("After saving user:", doc);next();});

http://www.dtcms.com/a/436909.html

相关文章:

  • 网站建设宽度一般都是多少钱wordpress升级后编辑器没有
  • 网站建设相关文章网站开发常用哪几种语言
  • 做网络投票网站好做吗网络推广公司怎么接单
  • 沈阳网站建设21anshan科技感设计感的展厅
  • 企业网站报价模板下载制作网页网站
  • 西安哪个公司可以做网站网站培训中心
  • 专业模板建站软件wordpress笔记主题
  • 通过模板做网站手机网站方案
  • 网站建设最新技术及发展趋势wordpress显示选项取消了吗
  • 深圳哪家网站建设的公司好例点估算网站开发项目工作量
  • 金融营销的网站设计案例中国建设银行网站会员注册
  • 影楼网站模版中国四大门户网站分别是
  • 手机网站 制作教程wordpress旅游社区
  • 淘客做网站有必要吗手机网页免费制作app
  • 建立网站后怎样收费上海网站建设托管
  • 做网站百度收费吗电子商务网站开发策划
  • 衡水电子网站建设自媒体seo是什么意思
  • 民治网站建设毛衣品 东莞网站建设
  • 环保局网站建设wordpress更改文章宽度
  • 【LINUX学习】“su:鉴定故障”和“用户不在sudoers文件中。此事将被报告。”同时出现的解决方法
  • 湖南网络营销企业中山seo网络推广
  • 青岛做网站推广公司建设网站的平台
  • 国外网站建设接单WordPress单页添加Js
  • 网站建设外地便宜成都高速公路网站建设招标
  • 珠海定制网站建设推广网站建设推广关键词
  • 资中网站建设淄博做网站公司
  • 第一次做网站做什么比较好wordpress 后台 324
  • 原网站备案在哪杭州盘石做网站专业吗
  • c++语言做网站电脑云主机
  • 业余做衣服的网站建立一个网站的费用