鍍金池/ 問(wèn)答/數(shù)據(jù)庫(kù)/ 求寫(xiě)個(gè)mongoose 查詢(xún)語(yǔ)句。

求寫(xiě)個(gè)mongoose 查詢(xún)語(yǔ)句。

clipboard.png

查詢(xún)所有 quantity 為10 的。然后統(tǒng)一更改它們的 sku 為‘a(chǎn)bc’ 自增它們的orders都加5,怎么寫(xiě)呢?

回答
編輯回答
糖豆豆

shell的寫(xiě)法:

db.<collection>.updateMany({
    quantity: 10
}, {
    $set: { sku: "abc" },
    $inc: { "metrics.orders": 5 }
});

對(duì)照mongoose的API自己改寫(xiě)一下吧。

2017年3月30日 20:52
編輯回答
心癌

希望對(duì)你有所幫助
XXX.find({quantity: 10}).exec(function (err, results) {

    if(err) {
        return res.status(400).send ({
            code: -1,
            message: '更新失敗,網(wǎng)絡(luò)或內(nèi)部錯(cuò)誤'
        })
    } else {
        for(let result of results) {
            let newXXX = new XXX(result)
            newXXX.sku = "abc"
            newXXX.metrics.orders = newXXX.metrics.orders + 5
            newXXX.save (function (err, newxxx) {
                ...
            })

        } 
    }

})

2018年6月4日 18:24