У меня есть схема, которая выглядит так:
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const timestamps = require('mongoose-timestamps');
const BidSchema = new Schema({
bidder: {
type: Schema.ObjectId,
ref: 'Buyer'
},
counterOffer: {
type: Schema.ObjectId,
ref: 'Counter_Offer'
},
box: {
type: Schema.ObjectId,
ref: 'Box'
},
status: {
type: String,
enum: ['Pending', 'Approved', 'Disapproved']
},
bidPrice: Number,
bidTimeout: {
type: Date,
default: Date.now
},
isAnonymous: Boolean,
});
BidSchema.plugin(timestamps);
module.exports = mongoose.model('Bid', BidSchema);
Я хочу сохранить несколько типов данных в поле Box
. Например, у меня есть модель Box
, а также модель GroupedBox
. Я хочу иметь возможность хранить идентификатор для обеих этих схем и соответственно заполнить это поле. Например, если в документе будет храниться ObjectId, который ссылается на документ GroupedBox
, метод заполнит выборку нужного документа GroupedBox
. То же самое относится к Box
идентификатору документа.
Я читал о Mixed
типах полей, но не понимаю, как это мне поможет.