const Koa = require('koa');
const router = require('koa-router')();
const app = new Koa();
const mongoose = require('mongoose');
const DB_NAME = 'demo';
const DB_URL = '127.0.0.1';
const DB_PORT = '27017';
const db_promise = () =>{
return new Promise((resolve,reject)=>{
// mongoose.set('useNewUrlParser', true);
// mongoose.set('useFindAndModify', false);
mongoose.set('useCreateIndex', true);
// 链接数据库
mongoose.connect(`mongodb://${DB_URL}:${DB_PORT}/${DB_NAME}`,{
useNewUrlParser:true,
useUnifiedTopology: true
});
// 监听连接
mongoose.connection.on('open',err=>{
if(!err){
console.log('数据库连接成功');
resolve();
}else{
reject(err);
}
})
})
}
const studentSchema = new mongoose.Schema({
stu_id:{
type:String, // 类型为字符串
required:true, // 为必须填入
unique:true // 限制学号是唯一的
},
name:{
type:String,
required:true
},
age:{
type:Number,
required:true
},
data:{
default:Date.now(),
type:Date
},
hobby:[String] // 为数组,类型为字符串
})
const studentModel = mongoose.model('student',studentSchema);
(async ()=>{
await db_promise();
// 新增一条数据,返回一个promise对象
// studentModel.create({stu_id:'20190202002',name:'xiaohua',age:18,hobby:['吃饭','睡觉','打豆豆']},(err,data)=>{
// if(!err){
// console.log('数据插入成功!');
// console.log(data);
// }else{
// console.log(err);
// }
// })
// 插入一条数据 或是 studentModelPromise十一个promise对象
// const studentModelPromise = studentModel.create({stu_id:'20190202002',name:'xiaohua',age:18,hobby:['吃饭','睡觉','打豆豆']})
// 查询 find findOne
// 如果没有,就返回改条数据,没有就返回空数组
// 第二个参数的name:1表示查找数据中的name和_id(默认显示为0,就是不查找)的数组
// studentModel.find({age:18},{name:1,_id:0},(err,data)=>{
// if(!err){
// console.log('数据查找成功!');
// console.log(data);
// }else{
// console.log(err);
// }
// })
// 更新数据 updateOne updateMany
// 第一个是条件,第二个是更改数据
// studentModel.updateOne({age:18},{name:'xiaoyu'},(err,data)=>{
// if(!err){
// console.log('数据更新成功!');
// console.log(data);
// }else{
// console.log(err);
// }
// })
// 删除数据 deleteOne deleteMany
// studentModel.deleteOne({age:18},(err,data)=>{
// console.log(data);
// });
})();
app.use(router.routes(),router.allowedMethods());
app.listen(3000,()=>{
console.log('链接成功!');
})
node mongodb的增删改查
最新推荐文章于 2024-05-06 11:15:13 发布
本文详细介绍使用Koa框架和Mongoose库进行数据库操作的方法,包括数据库连接、数据模型定义、数据增删改查等核心功能实现。
1684

被折叠的 条评论
为什么被折叠?



