mongoose开始

本文档详细介绍了如何使用Mongoose库在MongoDB中进行数据操作,包括建立用户Schema、连接数据库、数据增删改查等基本步骤。通过示例展示了如何创建用户模型、保存数据、查询数据(所有数据和按条件查询)、删除数据以及更新数据。同时,文中还提到了数据验证的重要性,确保数据完整性。
摘要由CSDN通过智能技术生成

1. 设计 Schema 发布 model

var mongoose = require('mongoose')

// Schema: 架构,模式
var Schema = mongoose.Schema

// 1.连接本机的 test 数据库
// 指定连接的数据库 不需要存在,当你插入第一条数据之后,会自动创建出来
mongoose.connect('mongodb://localhost:27017/test');

// 2. 设计文档结构(表结构)
// 字段名称 就是 表结构中的属性名称
// 值
// 约束的目的是为了保证数据的完整性,不要有脏数据
var userSchema = new Schema({
    username: {
        type: String,
        required: true // 必须有
    },
    password: {
        type: String,
        required: true
    },
    email: {
        type: String
    }
})

// 3. 将文档结构发布为模型
//   mongoose.model 方法就是用来将一个架构 发布为 model
//   第一个参数: 传入一个大写名词单数字符串 用来表示你的数据库名称
//          mongoose 会自动将 User 转成 users
//   第二个参数: 架构 Schema
//   返回值: 模型构造函数
var User = mongoose.model('User', userSchema)

//  4. 当我们有了模型构造函数之后,就可以使用这个构造函数对 User集合中的数据操作(增删改查)

2. 增加数据

var admin = new User({
    username: 'admin',
    password: '123456',
    email: 'admin@admin.com'
})

admin.save(function(err, ret) {
    if (err) {
        console.log('保存失败');
    } else {
        console.log('保存成功');
        console.log(ret);
    }
})

在这里插入图片描述

另外两种方法

在这里插入图片描述

3. 查询数据

1. 查询所有数据
User.find(function(err, ret) {
    if (err) {
        console.log('查询失败');
    } else {
        console.log(ret);
    }
})

在这里插入图片描述

ps: 数据放在一个数组里面

2. 按照条件查询单个数据

使用 findOne()方法

User.findOne({
    username: 'zs'
}, function(err, ret) {
    if (err) {
        console.log('查询失败');
    } else {
        console.log(ret);
    }
})

在这里插入图片描述

3. 表达式查询文档

在这里插入图片描述

ps : 按照年龄降序排列:User.find().sort(’-age’).then(result => { console.log(result) })

4. 删除数据

User.remove({
    username: 'zs'
}, function(err, ret) {
    if (err) {
        console.log('删除失败');
    } else {
        console.log('删除成功');
        console.log(ret);
    }
})

在这里插入图片描述

还有一个方法: User.findByIdAndRemove()

5. 更新数据

在这里插入图片描述

更新单个

在这里插入图片描述

更新多个

在这里插入图片描述

6. mongoose验证

在创建集合规则时,可以设置当前字段的验证规则,验证失败就插入失败

在这里插入图片描述
在这里插入图片描述

获取验证错误信息

在这里插入图片描述

.catch 返回的错误对象是一个promise对象

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值