我有2个包含函数的文件,我想将函数从一个文件转换为另一个文件,其中所有函数均已导出

时间:2019-06-13 06:04:19

标签: javascript node.js

///我有一个包含用于数据库查询的多个函数的文件,我想在节点api文件中使用它,但是每次我通过分解使用函数时,都会抛出一个错误,指出无效的速记属性

//包含所有导出功能的文件。

module.exports = {

//用于发送错误json响应的函数。

sendError = (req, res, err) => {
    res.send({ success: 0, err });
  },

//用于将数据作为json响应发送的功能。

 sendData = (req, res, data) => {
    res.send({ success: 1, data });
  },

//获取所有数据的功能。

 getData = (req, res, dbName) => {
    dbName
      .find({})
      .then(data => {
       res.send({success: 1, data: data});
        sendData(req, res, data);
      })
      .catch(err => {
        sendError(req, res, err);
      });
  },

//用于编辑状态的功能。

editStatus = (req, res, status) => {
    Property.updateOne(
      { _id: req.params.id },
      { status: status },
      (err, resp) => {
        if (err) sendError(req, res, err);
        else {
          sendData(req, res, resp);
        }
      }
    );
  },

//用于编辑数据的功能。

 editData = (req, res, id) => {
    Property.findOne({ _id: id }).then(Property => {
      Property.address = req.body.address;
      Property.price = req.body.price;
      Property.bedroom = req.body.bedroom;
      Property.bathroom = req.body.bathroom;
      Property.livingroom = req.body.livingroom;
      Property.propertytype = req.body.propertytype;
      Property.propertynumber = req.body.propertynumber;
      Property.streetname = req.body.streetname;
      Property.city = req.body.city;
      Property.country = req.body.country;
      Property.postalcode = req.body.postalcode;
      Property.description = req.body.description;

      Property.save()
        .then(updated => {
          res.send(200).json(updated);
        })
        .catch(err => {
          res.send(err);
        });
    });
  },

//添加数据的功能。

 setData = (req, res) => {
    Property.create(req.body, (err, property) => {
      if (err) sendError(req, res, err);
      else {
        sendData(req, res, property);
      }
    });
  },

//软删除数据的功能

 softDelete = (req, res, id) => {
    Property.findOne({ _id: id })
      .then(Property => {
        Property.isDeleted = 1;

        Property.save()
          .then(data => {
            sendData(req, res, data);
          })
          .catch(err => {
            sendError(req, res, err);
          });
      })
      .catch(err => {
        sendError(req, res, err);
      });
  }
}

// Nodeapi文件,其中功能已被重构

 const {
      getData,
      editStatus,
      editData,
      setData,
      softDelete
    } = require("../dbFunctions");

//一些使用函数的api //将属性以待处理状态存储在数据库中。

router.post("/api/addProperty", (req, res) => {
  setData(req, res);
});

//获取所有属性

 router.get("/api/propertyData", (req, res) => {
      getData(req, res, Property);
    });

0 个答案:

没有答案