如何在 MongoDB/Mongoose 中正确地 link 集合
How to correctly link collections in MongoDB/Mongoose
我目前正在开发一个问题库,我想 link 将测试结果发送到用户帐户。我是 noSQL 数据库结构的新手,我只是想听听专家关于 link 向用户提供结果的最佳方式的意见。
我是否应该让 userSchema 引用用户特定的测试分数集合?或者只是 link 使用 "ref:"?
键入全球考试成绩集合
您应该将需要的数据视为 JSON,将其他实体视为属性和 属性 数组。
希望这段代码对您有所帮助:
问题:
{
"title" : "It's a title of question",
"otherProperty" : Boolean,
"created_by: {
"name": "User Who Created Question",
"otherProperty":0
},
"answers": [
{"text":"Answer content",
"created_by": {
"name":"User Who Answered Question
},
"otherProperty":False
},
{"text":"Answer content",
"created_by": {
"name":"User Who Answered Question
},
"otherProperty":False
},
{"text":"Answer content",
"created_by": {
"name":"User Who Answered Question
},
"otherProperty":False
}
]
}
在代码方面,您应该阅读 mongoose 文档,但通常会使用 Ref
键。像这样:
var Schema = mongoose.Schema;
var QuestionSchema = new Schema({
title: {
type: String,
required: true
},
answers: [{
type: Schema.Types.ObjectId,
ref: 'Answer'
}]
})
var Answer = new Schema({
text: {
type: String,
required: true
},
created_by: {
type: Schema.Types.ObjectId,
ref: 'User'
}
})
希望对你有所帮助
更新:我刚刚更新了第一个示例的示例代码。
我目前正在开发一个问题库,我想 link 将测试结果发送到用户帐户。我是 noSQL 数据库结构的新手,我只是想听听专家关于 link 向用户提供结果的最佳方式的意见。
我是否应该让 userSchema 引用用户特定的测试分数集合?或者只是 link 使用 "ref:"?
键入全球考试成绩集合您应该将需要的数据视为 JSON,将其他实体视为属性和 属性 数组。
希望这段代码对您有所帮助:
问题:
{
"title" : "It's a title of question",
"otherProperty" : Boolean,
"created_by: {
"name": "User Who Created Question",
"otherProperty":0
},
"answers": [
{"text":"Answer content",
"created_by": {
"name":"User Who Answered Question
},
"otherProperty":False
},
{"text":"Answer content",
"created_by": {
"name":"User Who Answered Question
},
"otherProperty":False
},
{"text":"Answer content",
"created_by": {
"name":"User Who Answered Question
},
"otherProperty":False
}
]
}
在代码方面,您应该阅读 mongoose 文档,但通常会使用 Ref
键。像这样:
var Schema = mongoose.Schema;
var QuestionSchema = new Schema({
title: {
type: String,
required: true
},
answers: [{
type: Schema.Types.ObjectId,
ref: 'Answer'
}]
})
var Answer = new Schema({
text: {
type: String,
required: true
},
created_by: {
type: Schema.Types.ObjectId,
ref: 'User'
}
})
希望对你有所帮助
更新:我刚刚更新了第一个示例的示例代码。