我使用 Mongoose 或 MongoDB 的经验几乎为零。我正在修一门关于它的课程,但课程内容确实是为了建立一个带有评论等的博客或网页。所以它让我试图自己解决问题。我已经阅读了 Mongoose 文档,但我仍然不确定应该采用什么方法来实现我的目标。
可能有任意数量的子句(顶级数字,如 1、2、3 等)任意数量的子条款(二级数字,如 2.1 和 2.3 等)任意数量的有序或无序列表插入任何地方。
这个想法是有一个用户表单来创建这样的文档。
我正在努力弄清楚如何为此构建架构。到目前为止,这是我的架构和模型代码。
const mongoose = requireA("mongoose");
const procedureSchema = new mongoose.Schema({
name: {
type: String,
required: true,
},
number: {
type: Number,
required: true,
},
revision: {
type: Number,
required: true,
},
originator: {
type: String,
required: true,
},
approver: {
type: String,
required: true,
},
procedure: [
{ clauseNumber: Number, clauseHeading: String, clauseParagraph: String, },
],
});
const Procedure = mongoose.model("Procedure", procedureSchema);
module.exports = Procedure;
如您所见,第一个条目只是基本信息,例如 revision number
等。当我到达 procedure
时,我开始认为数组是可行的方法。但后来我想这最终会成为一堆嵌套数组,也许这不是一个好的解决方案。
这应该作为子文档完成吗?如果子文档是进入这里的方式,我希望得到解释,因为此时 Mongoose 文档并没有在我脑海中响起。
我不是在寻找“为我编写代码”的人。我真的只是希望有经验的人可以为我指明正确的方向。
我讨厌 Stack Overflow 的一件事是人们说我的问题是重复的等等。我已经看过了,但我并不认为这是一个已经得到回答的问题。如果是这样,请解释。
预先感谢您的帮助。