Как разместить / вставить переменную или массив в MongoDB из приложения MERN? - PullRequest
0 голосов
/ 03 февраля 2020

Я следил вместе с этим учебным пособием https://github.com/rishipr/mern-plaid по созданию приложения MERN, которое может подключаться к Plaid. Используется бэкэнд Mon go, и все соединения и маршруты уже настроены для подключения к Mon go и хранения учетных документов пользователя и документов банковского счета (только название банка, а не конфиденциальная информация). Однако меня интересует возможность вставлять значения транзакций в Mon go, чтобы я не постоянно обращался к API пледа. Страница Dashboard. js (компоненты Client> sr c>) содержит таблицу транзакций, в которой перечислены транзакции пользователей за последние X дней. Как часть этой таблицы, эти транзакции имеют такую ​​категорию, как Еда и напитки, Развлечения и т. Д. c. Я уже создал переменные для сбора общих значений каждой из этих категорий за период X дней, однако теперь я хотел бы опубликовать их в MongoDB, а не только отображать эти значения во внешнем интерфейсе.

До сих пор я создал новый файл. js в моделях под названием Транзакции. js, который выглядит как файл ниже:

const mongoose = require("mongoose");
const Schema = mongoose.Schema;

const TransactionSchema = new Schema({
  userId: {
    type: Schema.Types.ObjectId, // how we associate each transaction with a user
    ref: "users"
  },
  accessToken: {
    type: String,
    required: true
  },
  itemId: {
    type: String,
    required: true
  },
  transactions: {
    type: String
  },
  subscriptions: {
    type: String
  },
  food: {
    type: String
  },
  travel: {
    type: String
  },
  housing: {
    type: String
  },
  transfers: {
    type: String
  }
});

module.exports = Transaction = mongoose.model("transaction", TransactionSchema);

При этом я не совершенно уверен, что я должен делать дальше. На мой взгляд, поскольку соединение между приложением и Mon go уже установлено, и, поскольку пользовательский сеанс, по-видимому, отображает свою банковскую информацию и информацию о транзакции при входе в систему, кажется, что эти переменные следует публиковать относительно просто. создал TransactionSchema. Я совсем не против, если он перезаписывает предыдущие данные каждый раз, когда пользователь входит в систему.

Может быть, что-то вроде этого:

class Transaction extends Component {
  constructor() {
    super();
    this.state = {
      transactions: "",
      subscriptions: "",
      food: "",
      travel: "",
      housing: "",
      transfers: "",
    };
  }

Transaction.propTypes = {
  transactions: PropTypes.func.isRequired,
  subscriptions: PropTypes.object.isRequired,
  food: PropTypes.object.isRequired,
  travel: PropTypes.object.isRequired,
  housing: PropTypes.object.isRequired,
  transfers: PropTypes.object.isRequired
};

Где я могу установить эти значения равными переменным Я уже определил, что?

Я довольно новичок в разработке, поэтому любая помощь будет высоко оценена.

Автор ссылки на github выше также имеет большое прохождение приложения: https://blog.bitsrc.io/build-a-full-stack-banking-web-app-with-plaid-the-mern-stack-508914ce5694

...