国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

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

Jokcy / 537人閱讀

摘要:首先,先分享用來做分頁查詢的簡單函數,先上代碼,是當前頁數,為一頁顯示多少條。

1.首先,先分享用來做分頁查詢的簡單函數,先上代碼,

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是當前頁數,count為一頁顯示多少條。

2.說說Node.js操作mongodb時怎么對數據庫里面的數組進行增刪該查

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就會變成undifine,大概是每次訪問時session都是不一樣的req吧,猜的
這里查詢的意思是對cart數組里指定ID的書籍的數量進行設置,如果把$set改成$inc就是指定Id的書籍的數量進行增加

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數組中包含指定bookID的項目

最后貼上Mean stack寫的簡單的書店前后端交互Demo

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

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/95650.html

相關文章

  • 一些基于React、Vue、Node.js、MongoDB技術棧的實踐項目

    摘要:利用中間件實現異步請求,實現兩個用戶角色實時通信。目前還未深入了解的一些概念。往后會寫更多的前后臺聯通的項目。刪除分組會連同組內的所有圖片一起刪除。算是對自己上次用寫后臺的一個強化,項目文章在這里。后來一直沒動,前些日子才把后續的完善。 歡迎訪問我的個人網站:http://www.neroht.com/? 剛學vue和react時,利用業余時間寫的關于這兩個框架的訓練,都相對簡單,有的...

    tangr206 評論0 收藏0
  • Node & 單頁應用 來做一個完整用戶系統吧!

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

    Chaz 評論0 收藏0
  • 如何打造一個令人愉悅的前端開發環境(三)

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

    cgh1999520 評論0 收藏0
  • 全棧最后一公里 - Node.js 項目的線上服務器部署與發布

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

    Nosee 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<