首页 > 其他分享 >Mongoose介绍

Mongoose介绍

时间:2023-12-02 14:14:06浏览次数:43  
标签:const String true Mongoose 介绍 mongoose type

官网

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需要重建集合才能有效果

标签:const,String,true,Mongoose,介绍,mongoose,type
From: https://www.cnblogs.com/cry0-0/p/17871522.html

相关文章

  • rabbitmq的推(push)拉(pull)模式介绍及代码实现
    在rabbitmq中有两种消息处理的模式,一种是推模式/订阅模式/投递模式(也叫push模式),消费者调用channel.basicConsume方法订阅队列后,由RabbitMQ主动将消息推送给订阅队列的消费者;另一种是拉模式/检索模式(也叫pull模式),需要消费者调用channel.basicGet方法,主动从指定队列中拉取消息。推......
  • 集合框架介绍
    1.集合框架的概述1.集合、数组都是对多个数据进行存储操作的结构,简称Java容器。说明:此时的存储,主要指的是内存层面的存储,不涉及到持久化的存储。1.1、集合体系集合一共分为两部分:Collection(单列集合)每个元素(数据)只包含一个值。Map(双列集合)每个元素包含两个值(键值对)。1.2、什么......
  • java 集合详细介绍
    java集合详细介绍集合框架介绍Java集合工具包位于Java.util包下,包含了很多常用的数据结构,如数组、链表、栈、队列、集合、哈希表等。学习Java集合框架下大致可以分为如下五个部分:List列表、Set集合、Map映射、迭代器(Iterator、Enumeration)、工具类(Arrays、Collections)。Java集......
  • 【Java入门】集合框架介绍与集合框架(一)Map的常见使用及循环的五种方式
     1.集合框架-数组的长度是固定的,集合的长度是可变的。-使用Java类封装出一个个容器类,开发者只需要直接调用即可,不用再手动创建容器类。-集合是Java中提供的一种容器,可以用来存储多个数据,根据不同存储方式形成的体系结构,就叫做集合框架体系(掌握)。集合也时常被称为容器。 ......
  • java基础的集合框架介绍
    集合概念什么是集合?集合:集合是一组用来存放数据对象的容器。特点:存放的数据是对象。对比数组:1、数组初始化后,其长度不可以再被改变,也就是说数组存放数据的个数是事先确定的。2、数组中对于插入元素和删除元素的操作是很繁琐的,因为涉及到了数组元素的移位操作。3、数组存放数据的......
  • 集合框架介绍
    什么是集合框架?java集合框架提供了数据结构和算法以及List、Collection、Set、Map接口Map为独立接口,而List和Set是继承了Collection接口List下有ArrayList,Vector,LinkedListSet下有HashSet,LinkedHashSet,TreeSetMap下有Hashtable,LinkedHashMap,HashMap,TreeMap List接口List是有......
  • 安防视频监控系统应该具备哪些技术?LiteCVR安防平台要点介绍
    视频监控系统是现代社会中不可或缺的一部分,广泛应用于各个领域,如安全监控、交通监控、工业生产监控等。为了满足不同领域的需求,视频监控系统需要具备多种技术。首先,高清视频技术是视频监控系统的基本要求。高清视频能够提供更清晰、更逼真的图像,帮助用户更好地了解监控场景。为了......
  • GraphFrames介绍和基本用法
    阅读本篇博客前需先了解图数据、scala、spark相关知识 GraphFrames是一款图处理类库。该类库构建在DataFrame之上,既能利用DataFrame良好的扩展性和强大的性能,同时也为Scala、Java和Python提供了统一的图处理API。github:https://github.com/graphframes/graphframes官方文档:h......
  • Java常用库介绍
    ApacheCommons与Guava 参考资料:开源工具导航——ApacheCommons与Guava全览https://blog.csdn.net/qq_35946969/article/details/123418026Java开源工具库使用之Apachecommons-lang3https://blog.csdn.net/qq_23091073/article/details/126743040 ......
  • 三大存储协议介绍与存储资源盘活系统 AHCI、NVMe、SCSI
    存储协议目前主流的有三种,AHCI、NVMe、SCSI。HDD磁盘和早期SSD磁盘的传输协议一般采用AHCI(高级主机控制器接口,AdvancedHostControllerInterface)。AHCI为单队列模式,主机和HDD/SSD之间通过单队列进行数据交互。对于HDD这种慢速设备来说,主要瓶颈在存储设备,而非AHCI协议......