第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

lowdb 僅更新 JSON 文件中的一項信息

lowdb 僅更新 JSON 文件中的一項信息

慕容3067478 2023-09-14 20:47:02
我發(fā)出 lowdb 請求來更新 JSON 文件,但僅更新日期。當我制作要更新的信息的 console.log 時,這就是我想要更新的內容:res.on("end", function () {            let body = Buffer.concat(chunks);            let final = JSON.parse(body);            if (final.error !== undefined) {                console.log("Initial authentication:", final.error_description, "Please refresh the authentication grant");                extAuthCallback(84);            } else {                tokens.set('access_token', final.access_token)                    .set('expires_in', final.expires_in)                    .set('refresh_token', final.refresh_token)                    .set('refresh_date', moment())                    .write()                console.log(final, tokens.value())                extAuthCallback(1);            }        });我的最終變量的 console.log:{  access_token: 'oa_prod_iq00cRPk5Jhh4VffSHlDj7DEDsSIlpCRRczI3l3ASC0',  token_type: 'bearer',  expires_in: 2399,  refresh_token: 'oa_prod_nIjBZs74xGvJXi1B-wdMyITfxGyklpCRRczI3l3ASC0'}請求后我的 JSON 文件的 console.log:{  access_token: 'oa_prod_pB9Q0FFM9Tk4c5n3HMRBFKAVz6naiJ-jmb3QCeBrT00',  expires_in: 2399,  refresh_token: 'oa_prod_nX3EDs530SM8eHv_fM5BN7-5RLBwkrKoUi6uExBbTY4',  refresh_date: '2020-11-28T23:31:13.855Z',  primary_autorization_date: '2020-11-29T00:40:58.421Z'}修改后我的JSON文件:{  "access_token": "oa_prod_pB9Q0FFM9Tk4c5n3HMRBFKAVz6naiJ-jmb3QCeBrT00",  "expires_in": 2399,  "refresh_token": "oa_prod_nX3EDs530SM8eHv_fM5BN7-5RLBwkrKoUi6uExBbTY4",  "refresh_date": "2020-11-28T23:31:13.855Z",  "primary_autorization_date": "2020-11-29T00:40:58.421Z"}所以它只是primary_autorization_date改變了領域......
查看完整描述

2 回答

?
躍然一笑

TA貢獻1826條經驗 獲得超6個贊

您應該使用set而不是update.


tokens.set('access_token', final.access_token)

    .set('expires_in', final.expires_in)

    .set('refresh_token', final.refresh_token)

    .set('refresh_date', moment())

    .write()

更新方法接受這樣的函數(shù)。


db.update('test1', (n) => 5555)

  .update('test2', (n) => n + 1)

  .write()

如果使用set,則只需為其賦值即可。


db.set('test1', 5555).set('test2', 3333).write()

當您使用 時moment,有兩種方法可以使用。


// Way 1 with moment()

db.set('date', moment()).write()


// Way 2 with moment

db.update('date', moment).write()


查看完整回答
反對 回復 2023-09-14
?
森林海

TA貢獻2011條經驗 獲得超2個贊

所以解決辦法是:


我在另一個文件中調用包含 HTTP 請求的函數(shù),如下所示:


app.get('/', async function(req, res) {

    const access_token = req.query.code;

    if (access_token) {

        let authentication = await asyncExtAuth(access_token);

        if (authentication == 84)

            return res.send({error: "Please give a valid access_token"});

        res.sendFile(path.join(__dirname + '/success_page/index.html'));

        db.set('access_token', access_token).write()

        tokens.set('primary_autorization_date', moment()).write()

        console.log("Access Token successfully refreshed")

    }

    else

        res.send({error: "Please specify an access token"})

})

其中我使用行第二次修改我的文件tokens.set('primary_autorization_date', moment()).write()。通過這樣做,lowdb 不會考慮之前所做的修改,而是使用之前包含的信息重新修改我的文件。解決方案是在修改文件之前添加以下行tokens.read()以更新緩存:


app.get('/', async function(req, res) {

    const access_token = req.query.code;

    if (access_token) {

        let authentication = await asyncExtAuth(access_token);

        if (authentication == 84)

            return res.send({error: "Please give a valid access_token"});

        res.sendFile(path.join(__dirname + '/success_page/index.html'));

        db.set('access_token', access_token).write()

        tokens.read()

        tokens.set('primary_autorization_date', moment()).write()

        console.log("Access Token successfully refreshed")

    }

    else

        res.send({error: "Please specify an access token"})

})


查看完整回答
反對 回復 2023-09-14
  • 2 回答
  • 0 關注
  • 166 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號