如何使用mongoose refs存储参考数据



我正在制作一个笔记应用程序,每个笔记都有多个类别。

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'}

你可以在这个后中阅读更多关于猫鼬病例敏感性的信息

最新更新