亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

Node.js+MongoDB寫前后端的一些東西,比如分頁,比如session

Jokcy / 584人閱讀

摘要:首先,先分享用來做分頁查詢的簡(jiǎn)單函數(shù),先上代碼,是當(dāng)前頁數(shù),為一頁顯示多少條。

1.首先,先分享用來做分頁查詢的簡(jiǎn)單函數(shù),先上代碼,

function findByPagination(collections, selector, page, count, fn) {
    let skipnumber = (page - 1) * count;
    let totalCount;
    MongoClient.connect(Urls, function (err, db) {
        let collection = db.collection(collections);
        assert.equal(null, err);
        console.log("Connected correctly to server");

        collection.find(selector).count((err, res) => {
            assert.equal(err, null);
            totalCount = res;
        });
        collection.find(selector).skip(skipnumber).limit(count).toArray(function (err, result) {
            try {
                assert.equal(err, null);
                fn({
                    success: true,
                    data: result,
                    totalCount: totalCount
                });
            } catch (e) {
                console.log(e);
                fn({
                    success: false,
                    data: [],
                    totalCount: totalCount
                });
            }

        });
        db.close();
    });

page是當(dāng)前頁數(shù),count為一頁顯示多少條。

2.說說Node.js操作mongodb時(shí)怎么對(duì)數(shù)據(jù)庫里面的數(shù)組進(jìn)行增刪該查

if (req.session.userId) {
        let bookId = req.body.bookId;
        let quantity = req.body.quantity;
        let totalNum = req.body.totalNum;
        console.log("quantity: ", quantity);
        req.session.userId = req.session.userId;
        handleDb("userCollection", [{ _id: new ObjectID(req.session.userId), cart: { $elemMatch: { bookID: new ObjectID(bookId) } } }, { $set: { "cart.$.quantity": quantity, totalnum: totalNum } }], update, data => {
            res.end(`{"totalNum":${totalNum}}`);
        })
    }

這里的if判斷req.session.userId是否存在,不太理解為什么一定要這么寫,不這樣寫刷新一次session就會(huì)變成undifine,大概是每次訪問時(shí)session都是不一樣的req吧,猜的
這里查詢的意思是對(duì)cart數(shù)組里指定ID的書籍的數(shù)量進(jìn)行設(shè)置,如果把$set改成$inc就是指定Id的書籍的數(shù)量進(jìn)行增加

handleDb("userCollection", [{ _id: new ObjectID(req.session.userId) }, { $pull: { cart: { bookID: new ObjectID(bookId) } } }], update, data => {
            handleDb("userCollection", { _id: new ObjectID(req.session.userId) }, find, userdata => {
                let user = userdata.data[0];
                let totalnum = user.totalnum;
                res.end(`{"totalNum":${totalnum}}`);
            })
        })

刪除cart數(shù)組中包含指定bookID的項(xiàng)目

最后貼上Mean stack寫的簡(jiǎn)單的書店前后端交互Demo

[圖書在線商城](https://github.com/ZoeLeee/bookstore)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/95650.html

相關(guān)文章

  • 一些基于React、Vue、Node.jsMongoDB技術(shù)棧的實(shí)踐項(xiàng)目

    摘要:利用中間件實(shí)現(xiàn)異步請(qǐng)求,實(shí)現(xiàn)兩個(gè)用戶角色實(shí)時(shí)通信。目前還未深入了解的一些概念。往后會(huì)寫更多的前后臺(tái)聯(lián)通的項(xiàng)目。刪除分組會(huì)連同組內(nèi)的所有圖片一起刪除。算是對(duì)自己上次用寫后臺(tái)的一個(gè)強(qiáng)化,項(xiàng)目文章在這里。后來一直沒動(dòng),前些日子才把后續(xù)的完善。 歡迎訪問我的個(gè)人網(wǎng)站:http://www.neroht.com/? 剛學(xué)vue和react時(shí),利用業(yè)余時(shí)間寫的關(guān)于這兩個(gè)框架的訓(xùn)練,都相對(duì)簡(jiǎn)單,有的...

    tangr206 評(píng)論0 收藏0
  • Node & 單頁應(yīng)用 來做一個(gè)完整用戶系統(tǒng)吧!

    摘要:在路由回調(diào)函數(shù)里面操作的時(shí)候,直接用就可以獲取到客戶端的值。用回調(diào)函數(shù)來寫后期看起來會(huì)很吃力看有沒有重名的看是不是同一郵箱又想重復(fù)注冊(cè)如果是以上兩種情況,就發(fā)送錯(cuò)誤信息。此賬戶名已經(jīng)被注冊(cè)。 1. 開場(chǎng)白 用戶系統(tǒng)是許多網(wǎng)站的基礎(chǔ)。這篇文章主要就是講解如何寫一個(gè)基于Node的單頁應(yīng)用的用戶系統(tǒng),這個(gè)用戶系統(tǒng)的功能包括:注冊(cè),登錄,自動(dòng)登錄,忘記密碼,修改密碼,郵件激活。如果使用在后端使...

    Chaz 評(píng)論0 收藏0
  • 如何打造一個(gè)令人愉悅的前端開發(fā)環(huán)境(三)

    摘要:的最后一個(gè)大招就是替換一些傳統(tǒng)的服務(wù)端語言,例如,,等,在業(yè)務(wù)層上面使用來開發(fā)服務(wù)端完全不成問題。更多的的使用細(xì)節(jié)和技巧建議關(guān)注美團(tuán)博客大搜車論壇下一篇我們開啟如何結(jié)合和搭建一個(gè)開發(fā)環(huán)境和項(xiàng)目目錄 往期回顧 前面2期都講得是瀏覽器端的東西比較多,包括Webpack,雖然是Node處理的,但是還是瀏覽器端用的多,對(duì)于現(xiàn)在的前端開發(fā)來說,不懂一點(diǎn)服務(wù)端的東西,簡(jiǎn)直沒辦法活,一般的招聘要求都...

    cgh1999520 評(píng)論0 收藏0
  • 全棧最后一公里 - Node.js 項(xiàng)目的線上服務(wù)器部署與發(fā)布

    摘要:沒有耐心閱讀的同學(xué),可以直接前往學(xué)習(xí)全棧最后一公里。我下面會(huì)羅列一些,我自己錄制過的一些項(xiàng)目,或者其他的我覺得可以按照這個(gè)路線繼續(xù)深入學(xué)習(xí)的項(xiàng)目資源。 showImg(https://segmentfault.com/img/bVMlke?w=833&h=410); 本文技術(shù)軟文,閱讀需謹(jǐn)慎,長(zhǎng)約 7000 字,通讀需 5 分鐘 大家好,我是 Scott,本文通過提供給大家學(xué)習(xí)的方法,...

    Nosee 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<