欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

了不起的node.js讀書筆記之mongodb數(shù)據(jù)庫交互

 更新時間:2014年12月22日 10:27:04   投稿:hebedich  
這篇文章主要介紹了了不起的node.js讀書筆記之mongodb數(shù)據(jù)庫交互,需要的朋友可以參考下

 這周的學習主要是nodejs的數(shù)據(jù)庫交互上,并使用jade模板一起做了一個用戶驗證的網站。主要是遇到了一下幾個問題。

1.mongodb版本過低

  npm ERR! Not compatible with your operating system or architecture: mongodb@0.9.9

  0.9.9只支持linux,darwin,freebsd這幾個系統(tǒng),最新版本已支持wins。

2.nodejs進行insert操作后:無法讀取結果

復制代碼 代碼如下:

 app.post('/signup', function(req, res, next){
      //插入文檔
      app.users.insert(req.body.user, function(err, doc){
           if(err) return next(err);
           res.redirect('/login/' + doc[0].email);
      });
 });

  表象是重定向失敗,真實情況是插入數(shù)據(jù)庫已經成功但doc為空,更不要說doc[0].email的值了。原因是insert這類操作是異步進行的,異步操作默認是不返回其結果的來確定是否運行成功的。需要通過增加第三個參數(shù){safe:ture}來實現(xiàn)這個功能,即app.users.insert(req.body.user, {safe:ture}, function(){……})。這樣就成功讀取結果了。

3.connect-connect出現(xiàn)未定義store

復制代碼 代碼如下:

 MongoStore = require('connect-mongo')
 
 app.use(express.session({
     secret:settings.cookieSecret,
     store:new MongoStore({
         db:settings.db
     })
 }));

源碼如上,查明原因為基于Express的不同版本,connect-mongo模塊引入的方式不同。在其Readme.md也特別提示了。

復制代碼 代碼如下:

 With express4:
     var session    = require('express-session');
     var MongoStore = require('connect-mongo')(session);
     app.use(session({
         secret: settings.cookie_secret,
         store: new MongoStore({
           db : settings.db,
         })
       }));
 With express<4:
     var express = require('express');
     var MongoStore = require('connect-mongo')(express);
     app.use(express.session({
         secret: settings.cookie_secret,
         store: new MongoStore({
           db: settings.db
         })
       }));

針對不同的版本,相應的修改即可。

4.總結

  經過這本書的學習,知道nodejs的一些特點以及活躍外文站。node中一些熱門板塊的更新頻率也加大了學習的難度,這本書也算入門吧。接下來計劃通過實戰(zhàn)學習sails后端框架。學習中遇到的問題也都記錄在筆記本上。

相關文章

  • Node.JS中事件輪詢(Event Loop)的解析

    Node.JS中事件輪詢(Event Loop)的解析

    對NodeJs的事情輪詢機造一孔之見。查閱了些許材料后,總算掀開了其神奇的里紗。下面這篇文章主要介紹了Node.JS中事件輪詢(Event Loop)的相關資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-02-02
  • koa-router源碼學習小結

    koa-router源碼學習小結

    這篇文章主要介紹了koa-router源碼學習小結,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • 初學者如何快速搭建Express開發(fā)系統(tǒng)步驟詳解

    初學者如何快速搭建Express開發(fā)系統(tǒng)步驟詳解

    這篇文章主要介紹了初學者如何快速搭建Express開發(fā)系統(tǒng),結合實例形式詳細分析了express框架搭建的具體步驟與相關注意事項,需要的朋友可以參考下
    2023-05-05
  • Linux?Ubuntu升級nodejs版本的簡單步驟

    Linux?Ubuntu升級nodejs版本的簡單步驟

    Node.js是一種對應于JavaScript運行時環(huán)境的編程語言,這篇文章主要給大家介紹了關于Linux?Ubuntu升級nodejs版本的簡單步驟,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-12-12
  • 用node-webkit把web應用打包成桌面應用(windows環(huán)境)

    用node-webkit把web應用打包成桌面應用(windows環(huán)境)

    這篇文章主要介紹了windows環(huán)境下用node-webkit把web應用打包成桌面應用的教程,需要的朋友可以參考下
    2018-02-02
  • 使用NVM實現(xiàn)不同nodejs版本的自由切換

    使用NVM實現(xiàn)不同nodejs版本的自由切換

    在工作中,我們可能需要同時進行多個不同NodeJS版本的項目開發(fā),這種情況下,對于維護多個版本的node將會是一件非常麻煩的事情,NVM就是為解決這個問題而產生的,本文給出了下載、安裝及使用方法,需要的朋友可以參考下
    2024-02-02
  • 解決npm管理員身份install時出現(xiàn)權限的問題

    解決npm管理員身份install時出現(xiàn)權限的問題

    下面小編就為大家分享一篇解決npm管理員身份install時出現(xiàn)權限的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • Express URL跳轉(重定向)的實現(xiàn)方法

    Express URL跳轉(重定向)的實現(xiàn)方法

    Express是一個基于Node.js實現(xiàn)的Web框架,其響應HTTP請求的response對象中有兩個用于URL跳轉方法res.location()和res.redirect(),使用它們可以實現(xiàn)URL的301或302重定向。
    2017-04-04
  • Node輸出日志的正確方法示例

    Node輸出日志的正確方法示例

    這篇文章主要為大家介紹了Node輸出日志的正確方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • socket.io實現(xiàn)在線群聊功能

    socket.io實現(xiàn)在線群聊功能

    這篇文章主要為大家詳細介紹了socket.io實現(xiàn)在線群聊功能的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04

最新評論