nodejs猫鼬,回调,比较旧数据并将新数据存储到变量

时间:2018-06-20 06:58:20

标签: node.js mongoose socket.io

从数据库中检索数据后,我想将旧数据与新数据进行比较,然后将新数据存储到变量oldData中。我很难将其存储到oldData中。关于范围,我是否正确编写?它似乎无法将其存储到oldData。你能帮忙吗? 谢谢。

const myDB = require('./dbModel/model');

let oldData = {}
const getApiAndEmit = (socket) => {
  try {

    // Get the latest data point
    const res = myDB.find()
     .limit(1)
     .sort({created_at: 'desc'})
     .then((response)=>{
        const newData = response[0]

        if (oldData != newData) {
          // Send update to clients
          io.sockets.emit('Update', response )
          // Store new data
          oldData = newData

        } else {
          // do nothing
        }
      })

   .catch((err)=>{
     console.log(err);
   })

  } catch (err) {
    console.error(`Error: ${error.code}`);
  }
};

1 个答案:

答案 0 :(得分:1)

if (odlData != newData) {
  1. 这看起来像是一个错字(odlData-> oldData)。
  2. 您无法比较这样的对象。使用lodash.isEqual()或类似的东西。