【发布时间】:2019-03-05 15:40:57
【问题描述】:
我正在尝试将消息数组发布到 mongoose 数据库,但它只保存 _id 属性而不是 content 和 sender 属性。我做错了什么?
组架构:
var GroupSchema = new mongoose.Schema({
name: {
type: String,
required: true,
minlenght: 1,
trim: true
},
messages: {
type: [{type: Schema.ObjectId, ref: 'Message'}]
},
_creator: {
type: mongoose.Schema.Types.ObjectId,
required: true
}
});
消息架构:
var MessageSchema = new mongoose.Schema({
content: {
type: String,
required: true,
minlenght: 1,
trim: true
},
sender: {
type: String,
required: true
}
});
POST /rooms 路由而不保存
const messages = [];
for (const m of req.body.messages) {
messages.push(new Message(m));
}
var group = new Group({
name: req.body.name,
_creator: req.user._id,
messages: messages
});
【问题讨论】:
-
你是说你的
GroupSchema只保存消息ID? -
是的,在下面的第二张图片中可以看到
-
那是因为
GroupSchema只保存MessageSchema模式记录的引用ID。你会在MessageSchema中找到对应的content和sender