私はポーリングアプリを作っています。ユーザーID、IPアドレス、またはMACアドレスに基づいて投票に投票したユーザーを保存したいと思います。Mongoose - サブ文書が機能しないのはなぜですか?
私のPoll
モデルにvoted: VotedSchema
という属性を付けると、まっすぐ進むと思っていましたが、何らかの理由で機能しません。
ポールモデル:
const mongoose = require('mongoose');
const { Schema } = mongoose;
const OptionSchema = require('./Option');
const VotedSchema = require('./Voted');
const pollSchema = new Schema({
title: String,
options: [OptionSchema],
dateCreated: { type: Date, default: Date.now() },
_user: { type: Schema.Types.ObjectId, ref: 'User' },
voted: VotedSchema
});
mongoose.model('polls', pollSchema);
投票subdocサブ:一方で、私はsubdocサブを使用しない場合
const mongoose = require('mongoose');
const { Schema } = mongoose;
const votedSchema = new Schema({
userID: [String],
IPaddress: [String],
MACaddress: [String]
});
module.exports = votedSchema;
は、それだけで正常に動作します:
const mongoose = require('mongoose');
const { Schema } = mongoose;
const OptionSchema = require('./Option');
const VotedSchema = require('./Voted');
const pollSchema = new Schema({
title: String,
options: [OptionSchema],
dateCreated: { type: Date, default: Date.now() },
_user: { type: Schema.Types.ObjectId, ref: 'User' },
voted: {
userID: [String],
IPaddress: [String],
MACaddress: [String]
}
});
mongoose.model('polls', pollSchema);
何か不足していますかスーパーシンプル?この問題は少し難解です。
あなたは、参照サブ文書の場合には動作していないとはどういう意味か、明確にすることはできますか? –