美文网首页
mongodb与express后台

mongodb与express后台

作者: _v_xw | 来源:发表于2017-07-29 12:26 被阅读0次

三个部分

  1. Schema 模式

可以配置输入数据的类型,好比string,number等

  1. Model 编译模型

会对传入的Schema进行编译,生成一个构造函数

  1. Document 文档实例化

Model创建了构造函数,我们可以利用这个构造函数进行文档的实例化,可以对数据进行传入,删除,更新等

  • 数据传入
    sql.save((err)=>{}) // 使用**实例**save方法进行数据写入
    await sql.save() // 利用koa2 中async/await
  • 数据查询
    查询方法有很多种,有批量也能单条
aqq.get((req,res)=>{
// 使用的是Sql构造函数上的方法,而不是实例后的方法
    Sql.find({}) // 全部查询 
    // Sql.find(传入特定的key:value)就能完成特定对象的批量查询
})
  • 数据删除
    Sql.remove(key:value) // 传入特定的key:value
  • 数据更新
    Sql.update({查询},{更新参数}) //无回调

状态保持

利用session来实现(会话)

通过session可以知道用户的状态,也可以对用户状态进行变更,好比30分钟不购物就需要退出登录状态,等待用户再次输入等
还有就是浏览器通信一般用的是http协议,是一种无状态的请求,之间的有请求才连接,请求完成立刻断开连接,这就需要一个新的机制来保存状态也就是cookie(在用户端记录)和session(在服务器端记录)了

  • 安装express-session模块
  • 使用方法
var session = require('express-session')

app.use(session({

secret: 'dataSecret'

})
  • 持久化
  1. cookie持久化
    var cookieSession = require('cookie-session');app.use(cookieSession())
    该方法就不用直接去设置了
  2. mongodb储存
  3. 内存储存

mongodb指令

use xx进行xx数据库
db.users.find({})

错误提示

  1. DeprecationWarning: Mongoose: mpromise (mongoose's default promise l ibrary) is deprecated, plug in your own promise library instead: http://mongoose js.com/docs/promises.html
  • 就是要定义Promise才好使用
  • mongoose.Promise = global.Promise加多这句即可
  1. 'Cast to ObjectId failed for value "" at path "_id" for
    有以下原因
  • _id时mongoose定义好的
  • app.use(bodyParser.urlencoded({extended:true})) 需要拓展
  • 准备传入新数据或者更新数据要对_id存在与否进行判断
    typeof(id) !== 'undefined' && id !== ''
  1. 安装npm install bcrypt 后找不到这个module。
  • npm install bcrypt-nodejs --save-dev 使用这个安装
  • 更改依赖名为bcrypt-nodejs即可
  1. bCrypt.js:621 throw "No callback function was given."
  • 调用了bcrypt.hash的方法,该方法有4个参数,(data, salt, progress, cb)
  • progress 表示进展 一般不用,但是一定要填写null!!不然识别不到callback
  1. mogoose 中 model出来的新构造函数查询一个对值时,使用findOne即可,不要使用find({}),因为返回的值不一样,find返回一个数组,findOne返回一个对象
  2. pug编译中可以用a标签href跳转到特定的id标签
a(href = '#idname')   // 注意加#号
#idname
  ....

这样就能跳转到idname下的div了

相关文章

网友评论

      本文标题:mongodb与express后台

      本文链接:https://www.haomeiwen.com/subject/hfgtkxtx.html