Mongoose介绍

世上唯一不能复制的是时间,唯一不能重演的是人生,唯一不劳而获的是年龄。该怎么走,过什么样的生活,全凭自己的选择和努力。人生很贵,请别浪费!与智者为伍,与良善者同行。Mongoose介绍,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

官网

Mongoose.js中文网 (mongoosejs.net)

基本使用

安装

最新的是mongoose8.0.0版本,基于Promise,以前的版本是基于回调函数。

  • npm
npm i mongoose
  • yarn
yarn add mongoose

使用

以mongoose8.0.0举例:

// 1-引入mongoose
const mongoose = require("mongoose");

// 2-连接数据库
mongoose
    .connect("mongodb://127.0.0.1:27017/test")
    .then(() => {
        console.log("数据库连接成功!");

        // 3-创建结构
        const userSchema = new mongoose.Schema({
            id: {
                type: Number,
                index: true,
                unique: true,
            },
            name: String,
        });

        // 4-创建模型
        const userModel = mongoose.model("user", userSchema);

        // 5-对数据库进行操作
        // 增
        const user = new userModel({
            id: 1,
            name: "kaka",
        });
        userModel.create(user);
    })
    .catch(() => {
        console.log("数据库连接失败!");
    });

字段

字段类型

文档结构可选的常用字段类型列表

类型 描述
String 字符串
Number 数字
Boolean 布尔值
Array 数组,也可以使用[]来标识
Date 日期
Buffer Buffer对象
Mixed 任意类型,需要使用mongoose.Schema.Types.Mixed指定
ObjectId 对象ID,需要使用mongoose.Schema.Types.ObjectId指定
Decimal128 高精度数字,需要使用mongoose.Schema.Types.Decimal128指定

字段值验证

Mongoose有一些内置验证器,可以对字段值进行验证。

必填项

title: {
		type: String,
		required: true // 设置必填项
}

默认值

author: {
		type: String,
		default: '匿名' // 设置默认值
}

枚举值

gender: {
		type: String,
		enum: ['男', '女'] // 设置的值必须是数组中的
}

唯一值

username: {
		type: String,
		unique: true // 字段值必须唯一
}

unique需要重建集合才能有效果

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/275280.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!