我编写了以下mongoose函数,以便在mongodb中创建新文档
createdata: (body) => {
let sEntry = new SData(Object.assign({}, {
dataId: body.DataId
//,
//notes.message: body.message
}));
return sEntry.save();
}
sData
模式在其中包括notes
阵列模式。
我无法使用message
向notes []
中的notes.message: body.message
添加价值
我的架构定义如下:
var nSchema = new Schema({
_id: {type:ObjectId, auto: true },
message: String
});
var sSchema = new Schema({
_id: {type:ObjectId, auto: true },
dataId: { type:String, unique: true },
notes: [nSchema]
}
我还想提到,对于每个dataId
,可以有多个notes []
条目。但是,SData
的每个dataId
只能有唯一的行条目。
我希望注释成为SData
集合中的一个数组。如何在不创建单独的notes
集合的情况下实现它?我应该如何修改createdata
以适应所有给定的要求。
答案 0 :(得分:0)
将references
用于其他集合映射,并在提取时使用populate
架构设计
var sSchema = new Schema({
_id: {type:ObjectId, auto: true },
dataId: { type:String, unique: true },
notes: [{
type: mongoose.Schema.Types.ObjectId,
ref: 'nSchema',
}]
}
添加数据
createdata: (body) => {
let sEntry = new SData({
dataId: body.DataId,
notes: [nSchemaIds]
});
return sEntry.save();
}