mongoose快速入门

本文档详细介绍了使用mongoose库连接MongoDB数据库并进行增删查改操作的步骤。包括如何定义用户Schema、创建Model、插入数据、查询数据、更新数据以及删除数据。示例代码清晰展示了每个操作的过程,适合初学者快速上手。
摘要由CSDN通过智能技术生成

mongoose快速入门

首先 一

//1.导入安装包
const mongoose = require('mongoose')
//2.连接数据库-库名-------默认返回promise
mongoose.connect('mongodb://localhost/abcddd').then(() => {
    console.log('数据库连接成功');
}).catch(err => {
    console.log('数据库连接失败' + err);
})
/*
根据京东字段插入用户

*/


//1.用户信息的schema-----------一个js文件
let userSChema = mongoose.Schema({
    userName: String,
    nickName: String,
    gender: Number,
    birthDay: Date,
    hobby: Array,

})



//2.符合schema的model---------一个js文件(表名)集合名称,是复数模式

let usermodel = mongoose.model('users', userSChema)
//3.符合module的亿条用户数据-----在一起
let xiaozhen = new usermodel({
    userName: '雪儿',
    nickName: '嗷嗷嗷',
    gender: 1,
    birthDay: Date.now(),
    hobby: ['吃饭', '睡觉']
})
//4.插入数据库------------------在一起
xiaozhen.save((err, result) => {
    if (err) {
        console.log(err);
    } else {
        console.log('数据库插入成功' + result);
    }
})

//1.导入安装包
const mongoose = require('mongoose')
//2.连接数据库-库名-------默认返回promise
mongoose.connect('mongodb://localhost/abcddd').then(() => {
    console.log('数据库连接成功');
}).catch(err => {
    console.log('数据库连接失败' + err);
})
/*
根据京东字段插入用户

*/


//1.用户信息的schema-----------一个js文件
let userSChema = mongoose.Schema({
    userName: String,
    nickName: String,
    gender: Number,
    birthDay: Date,
    hobby: Array,

})



//2.符合schema的model---------一个js文件(表名)集合名称,是复数模式

let usermodel = mongoose.model('users', userSChema)

//3.执行查询
//usermodel.findOne({ userName: '小镇' }, function (err, result) {
//   err ? console.log('没有数据' + err) : console.log(result)
//})

//传入 callback参数
//limit限制条数
// usermodel.find({ userName: '小镇' }, function (err, result) {
//      err ? console.log('没有数据' + err) : console.log(result)
//    }).limit(2)

//不传 callback参数
async function getDate() {
    let rs = await usermodel
        .find()//查询方法
        .or([{ gender: 1 }])//只找男生
        .sort({ _id: 'desc' })//
        // .limit(2)//只展示2条
        // .skip(2)//跳过前2条
    
    console.log(rs);
}
getDate()

//1.导入安装包
const mongoose = require('mongoose')
//2.连接数据库-库名-------默认返回promise
mongoose.connect('mongodb://localhost/abcddd').then(() => {
    console.log('数据库连接成功');
}).catch(err => {
    console.log('数据库连接失败' + err);
})
/*
根据京东字段插入用户

*/


//1.用户信息的schema-----------一个js文件
let userSChema = mongoose.Schema({
    userName: String,
    nickName: String,
    gender: Number,
    birthDay: Date,
    hobby: Array,

})



//2.符合schema的model---------一个js文件(表名)集合名称,是复数模式

let usermodel = mongoose.model('users', userSChema)

/*
操作修改
*/
// async function setData(){

// // 1.查询
// let dd = await usermodel.findOne({userName:'董董'})
// console.log(dd) 
// //2.修噶数据-------set'()修改数据值的方法
// dd.set({
//    gender:3
//  })
// // 3.重新插入数据库
// console.log(dd) 
// }
// setData()

//修改

usermodel.findOneAndUpdate({ nickName: '小珍珍' }, { userName: 'abc' }, { new: true }, ( err, rs ) =>console.log(rs))


//1.导入安装包
const mongoose = require('mongoose')
//2.连接数据库-库名-------默认返回promise
mongoose.connect('mongodb://localhost/abcddd').then(() => {
    console.log('数据库连接成功');
}).catch(err => {
    console.log('数据库连接失败' + err);
})
/*
根据京东字段插入用户

*/


//1.用户信息的schema-----------一个js文件
let userSChema = mongoose.Schema({
    userName: String,
    nickName: String,
    gender: Number,
    birthDay: Date,
    hobby: Array,

})



//2.符合schema的model---------一个js文件(表名)集合名称,是复数模式

let usermodel = mongoose.model('users', userSChema)

//Model.remove()删除数据-----可选择一条还是多条
//Model.deleteOne()只能删除一条
//Model.deleteMany()所有符合条件的数据都会被删除没办法选出单挑

//删除操作
//usermodel.deleteOne({userName:'雪儿'},(err,rs)=>console.log(rs))
usermodel.deleteMany({gender:3},(err,rs)=>console.log(rs))
//usermodel.remove({userName:'星月'},{single:false},(err,rs)=>console.log(rs))
//false全删,true删一条

好了,祝小朋友学习快乐,天天进步!
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值