鍍金池/ 問(wèn)答/數(shù)據(jù)庫(kù)  HTML/ mongoose如何處理多層循環(huán)查詢,并修改查詢結(jié)果,然后返回最終結(jié)果呢?

mongoose如何處理多層循環(huán)查詢,并修改查詢結(jié)果,然后返回最終結(jié)果呢?

問(wèn)題描述

用戶表下面有購(gòu)物車cartList字段,字段類型如下:

cartList: [
    {
        shopId: {
            type: Schema.ObjectId
        },
        shopName: String,
        goodsList: [
            {
                _id: Schema.ObjectId,
                name: String,
                num: Number,
                selectedAttr: Array
            }
        ]
    }
]

然后取這個(gè)字段之前,要對(duì)價(jià)格做個(gè)補(bǔ)充。這里就會(huì)涉及到兩個(gè)循環(huán),一個(gè)是遍歷cartList里面元素,第二個(gè)是去遍歷元素里面的goodsList數(shù)組,并通過(guò)里面的_id去查找goods表里面的價(jià)格并且添加上去。那么問(wèn)題來(lái)了,因?yàn)閒ind查詢是異步的,我要怎么才能在循環(huán)結(jié)束后,獲得正確的結(jié)果呢?

回答
編輯回答
你好胸

mongoosefind有回調(diào)啊,或者promise寫法。 查到結(jié)果了,在回調(diào)里實(shí)現(xiàn)業(yè)務(wù)邏輯就可以了啊。
參考文檔

2017年5月29日 17:16