lovecodeblog 2020-01-24
mongoose用起来更便捷,更方便些??
这里没有使用asset断言
import mongodb from 'mongodb' const MongoClient = mongodb.MongoClient const url = 'mongodb://localhost:27017/edu' export default (errLog, req, res, next) => { // 1. 将错误日志记录到数据库,方便排查错误 // 2. 发送响应给用户,给一些友好的提示信息 // { 错误名称:错误信息:错误堆栈:错误发生时间 } // 1. 打开连接 MongoClient.connect(url, (err, db) => { db .collection('error_logs') .insertOne({ name: errLog.name, message: errLog.message, stack: errLog.stack, time: new Date() }, (err, result) => { res.json({ err_code: 500, message: errLog.message }) }) // 3. 关闭连接 db.close() }) }
const mongoose = require('mongoose') mongoose.connect('mongodb://localhost/test') // 1. 创建一个模型架构,设计数据结构和约束 const studentSchema = mongoose.Schema({ name: String, age: Number }) // 2. 通过 mongoose.model() 将架构发布为一个模型(可以把模型认为是一个构造函数) // 第一个参数就是给你的集合起一个名字,这个名字最好使用 帕斯卡命名法 // 例如你的集合名 persons ,则这里就命名为 Person,但是最终 mongoose 会自动帮你把 Person 转为 persons // 第二个参数就是传递一个模型架构 const Student = mongoose.model('Student', studentSchema) // 3. 通过操作模型去操作你的数据库 // 保存实例数据对象 const s1 = new Student({ name: 'Mike', age: 23 }) s1.save((err, result) => { if (err) { throw err } console.log(result) }) //查询 Student.find((err, docs) => { if (err) { throw err } console.log(docs) }) Student.find({ name: 'Mike' },(err, docs) => { if (err) { throw err } console.log(docs) })