如何解决在交易概览中推送交易
我想创建一个函数,当我创建一个事务时,它必须将我创建的事务与 transactions overview
中的事务进行比较,该事务在 cuttingmaterialtransaction.js
中使用 itemId
呈现在其中。
如果 itemId
存在于 transaction Overview
中,那么它应该与事务概览合并到所创建事务的组件中。
如果 itemId
不存在于 transaction OverView
中,它应该在列表中创建一个新事务
我的 Transaction.js
const { ObjectId } = mongoose.Schema
const TransactionSchema = new mongoose.Schema({
item: {
type: ObjectId,ref: "Item",required: true
},given: {
type: String,trim: true,reuired: true,default: "",},received: {
type: String,required: true,date: {
type: Date,required: true
}
});
module.exports = mongoose.model("Transaction",TransactionSchema);
我的 cuttingTransaciton.js
模型
const mongoose = require("mongoose");
const { ObjectId } = mongoose.Schema;
const CuttingMaterialTransactionSchema = new mongoose.Schema({
itemname: {
type: String,trim: true
},size: {
type: String,user: {
type: ObjectId,ref: "User",cutter: {
type: ObjectId,ref: "InBusinessWith",transactionoverview: {
type: Array,default: []
},alltransactions: {
type: Array,default: [],}
})
module.exports = mongoose.model("CuttingMaterialTransaction",CuttingMaterialTransactionSchema);
我的 createTransaction
控制器
exports.createTransaction = (req,res) => {
const transaction = new Transaction(req.body);
transaction.save((err,transaction) => {
if (err) {
return res.status(400).json({
error: " Not able to save Transaction in DB"
});
}
PushTransactionsinCuttingMterial(transaction._id,req.cuttingmaterialtransaction._id);
PushItemInTransaction(transaction._id,req.item._id);
return res.json({ transaction });
});
};
const PushItemInTransaction = (transactionId,itemId) => {
let item = [];
item.push({
item: itemId
})
Transaction.findOneAndUpdate({ _id: transactionId },{ $push: { item: item } },{ new: true,(err,transaction) => {
if (err) {
return res.status(400)({
error: "Unable to push Item in transaction List"
});
}
}
)
}
const PushTransactionsinCuttingMterial = (transactionId,cuttingId) => {
let transactions = [];
transactions.push({
transaction: transactionId
});
CuttingMaterialTransaction.findOneAndUpdate({ _id: cuttingId },{ $push: { alltransactions: transactions } },{ new: true },transactions) => {
if (err) {
return res.status(400).json({
error: "Unable to save transaction ID in List"
});
}
})
}
这里我从参数中获取所有 Id
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。