Node.js 是否有方法将用户Id传递给架构?
我有一个用户模式和一个考试模式,我想把用户的id传递给考试模式Node.js 是否有方法将用户Id传递给架构?,node.js,mongodb,express,mongoose,mongoose-schema,Node.js,Mongodb,Express,Mongoose,Mongoose Schema,我有一个用户模式和一个考试模式,我想把用户的id传递给考试模式 const ExamSchema = new mongoose.Schema({ -----> _id: [{ class: { type: String, required: true }, module: { type: Number,required:true }, date: {type: Date, required: true } }] 上面写着_id-我希望它是用户的id!我应该这样
const ExamSchema = new mongoose.Schema({
-----> _id: [{
class: { type: String, required: true },
module: { type: Number,required:true },
date: {type: Date, required: true }
}]
上面写着_id-我希望它是用户的id!我应该这样做还是在用户模式上添加考试模式?像这样
const UserSchema = new mongoose.Schema({
username: { type: String, require: true },
email: { type: String, required: true, unique: true },
password: { type: String, required: true },
active: { type: Boolean, default: true },
exam: [{
class: { type: String, required: true },
module: { type: Number,required:true },
date: {type: Date, required: true }
}]
});
检查猫鼬“填充”
文档中的一部分
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const personSchema = Schema({
_id: Schema.Types.ObjectId,
name: String,
age: Number,
stories: [{ type: Schema.Types.ObjectId, ref: 'Story' }]
});
const storySchema = Schema({
author: { type: Schema.Types.ObjectId, ref: 'Person' },
title: String,
fans: [{ type: Schema.Types.ObjectId, ref: 'Person' }]
});
const Story = mongoose.model('Story', storySchema);
const Person = mongoose.model('Person', personSchema);
到目前为止,我们已经创建了两个模型。我们的Person模型将其stories字段设置为ObjectId数组。ref选项告诉猫鼬在种群中使用哪个模型,在我们的例子中是故事模型。我们存储在这里的所有ID必须是来自故事模型的文档ID
在您的情况下,只需在考试模式中创建一个用户id,并参考用户模式的id即可
const ExamSchema = new mongoose.Schema({
user_id: {type: Schema.Types.ObjectId, ref: 'User' },
class: { type: String, required: true },
module: { type: Number,required:true },
date: {type: Date, required: true }
})
非常感谢。但是我应该将这两个模式放在同一个文件中,还是可以放在不同的文件中?如果需要,可以放在不同的文件中。只需导入模型就可以了。