이 작업을 간단하게 수행 할 수 있습니다. 다른 스키마 안에 스키마를 중첩하면 정상적으로 작동합니다.
내가 잘못한 것은 모델을 내 스키마에 넣으려고했다는 것입니다. 내 ./model
폴더에서 쉽게 문제를 해결하려면 트랜잭션 모델이 있습니다 :
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const TransactionSchema = require('./schemas/transaction-schema');
TransactionSchema.pre('save', function (next) {
this.createdAt = new Date();
next();
});
module.exports = mongoose.model('Transaction', TransactionSchema
);
그리고 RepeatingTransaction 모델 :
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const TransactionSchema = require('./schemas/transaction-schema');
let RepeatingTransactionSchema = new Schema({
user: {type: Schema.Types.ObjectId, ref: 'User'},
transaction: {type: TransactionSchema, required: [true, 'Transation is required']},
period: {type: String, required: [true, 'Interval is required']},
nextDate: {type: Date, required: [true, 'Date is required']}
});
module.exports = mongoose.model('RepeatingTransaction', RepeatingTransactionSchema);
그리고 물론
은 TransactionSchema도있다 :
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
let TransactionSchema = new Schema({
...
});
module.exports = TransactionSchema;