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

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

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

 這周的學(xué)習(xí)主要是nodejs的數(shù)據(jù)庫(kù)交互上,并使用jade模板一起做了一個(gè)用戶驗(yàn)證的網(wǎng)站。主要是遇到了一下幾個(gè)問(wèn)題。

1.mongodb版本過(guò)低

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

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

2.nodejs進(jìn)行insert操作后:無(wú)法讀取結(jié)果

復(fù)制代碼 代碼如下:

 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í)情況是插入數(shù)據(jù)庫(kù)已經(jīng)成功但doc為空,更不要說(shuō)doc[0].email的值了。原因是insert這類操作是異步進(jìn)行的,異步操作默認(rèn)是不返回其結(jié)果的來(lái)確定是否運(yùn)行成功的。需要通過(guò)增加第三個(gè)參數(shù){safe:ture}來(lái)實(shí)現(xiàn)這個(gè)功能,即app.users.insert(req.body.user, {safe:ture}, function(){……})。這樣就成功讀取結(jié)果了。

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

復(fù)制代碼 代碼如下:

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

源碼如上,查明原因?yàn)榛贓xpress的不同版本,connect-mongo模塊引入的方式不同。在其Readme.md也特別提示了。

復(fù)制代碼 代碼如下:

 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
         })
       }));

針對(duì)不同的版本,相應(yīng)的修改即可。

4.總結(jié)

  經(jīng)過(guò)這本書(shū)的學(xué)習(xí),知道nodejs的一些特點(diǎn)以及活躍外文站。node中一些熱門(mén)板塊的更新頻率也加大了學(xué)習(xí)的難度,這本書(shū)也算入門(mén)吧。接下來(lái)計(jì)劃通過(guò)實(shí)戰(zhàn)學(xué)習(xí)sails后端框架。學(xué)習(xí)中遇到的問(wèn)題也都記錄在筆記本上。

相關(guān)文章

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

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

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

    koa-router源碼學(xué)習(xí)小結(jié)

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

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

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

    Linux?Ubuntu升級(jí)nodejs版本的簡(jiǎn)單步驟

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

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

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

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

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

    解決npm管理員身份install時(shí)出現(xiàn)權(quán)限的問(wèn)題

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

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

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

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

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

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

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

最新評(píng)論