我正在制作一个笔记应用程序,每个笔记都有多个类别。
var NotesSchema = new mongoose.Schema({
title: String,
note: String,
favorite: {type: Boolean, default: false},
category: [{ type: mongoose.Schema.Types.ObjectId, ref: "categories" }]
},{ timestamps: { createdAt: 'created_at' } });
var Notes = mongoose.model('Notes', NotesSchema);
var CategoriesSchema = new Schema({
name: {type: String, required: true},
favorite: {type: Boolean, default: false},
})
var Categories = mongoose.model('Categories', CategoriesSchema);
我只能对一个类别进行此操作,但我不知道如何对多个类别进行操作。
首先,我想我需要存储类别,获取每个id,然后存储笔记。以下是我尝试过的:
.get('/', (req, res) => {
var data = {
title : "scientific revolution",
note : " some note",
favorite : true,
category : [ 'science', 'books']
}
var catIds = [], seriesIds = [];
data.category.map(cat =>{
const category = new Categories({
name: cat
})
category.save((err,data)=>{
if(err) throw err;
catIds.push(data._id)
})
})
data.category = catIds;
const note = new Notes(data)
note.save((err, data)=>{
if(err) throw err;
res.json(data)
})
})
catIds
数组从未获取ID!
我完全不擅长使用参考资料。甚至不知道它们的存在。
您的ref
字段应该指向模型名称,而不是表名称。
在这种情况下,CCD_。
我看到你已经用小c
写了{ref: 'categories'}
,但mongoose集合名称区分大小写,你应该写{ref: 'Categories'}
。
你可以在这个后中阅读更多关于猫鼬病例敏感性的信息