猫鼬查询-如何为返回的每个数据集创建对象

时间:2018-12-10 23:29:16

标签: mongodb express mongoose

我正在查询数据库并返回一个对象数组,然后我想要基于新对象属性为每组数据创建对象,并将每个新对象推送到数组中。我相信我在无法兑现承诺方面遇到问题,但无法弄清楚如何兑现承诺。

来自查询的数据返回正常,但是当它进入for循环时,不会创建该对象。它进入catch语句。

const express = require('express');
const router = express.Router();
const userTxModel = require('../models/userTx.model');

var RecurringTxObj = (name, user_id, next_amt, next_date, transactions) => {
  this.name = name;
  this.user_id = user_id;
  this.next_amt = next_amt;
  this.next_date = next_date;
  this.transactions = [];
};

router.get('/getRecurringTx', (req, res) => {
  const recurringTxArr = [];
  userTxModel
    .find({ recurring: true })
    .exec()
    .then((recurringTxData) => {
      for (let data of recurringTxData) {
        recurringTxArr.push(
          new RecurringTxObj(
            data.name,
            data.user_id,
            data.amount,
            data.date,
            []
          )
        );
      }
      res.status(200).send(recurringTxArr);
    })
    .catch((err) => {
      console.log('Could not find recurring transactions');
      res.status(500).send('Could not find recurring transactions');
    });
});

router.get('/error', (req, res) => {
  throw new Error('Something went wrong');
});
module.exports = router;

0 个答案:

没有答案