【发布时间】:2021-02-22 01:25:10
【问题描述】:
我刚刚开始在 MongoDB 中迈出第一步,所以如果我的问题对你来说听起来有点愚蠢,请原谅。我真的尽力在谷歌上搜索答案,但到目前为止还没有找到。
我想问一下处理以下情况的最佳做法是什么。例如,我收集了“公司”(表示法人实体列表)。其中的每个文档都将具有相同的公共字段,例如“name_official”、“name_short”、“name_group”、“name_parent”等。字段“name_parent”应该引用同一集合中的母公司(不同的文档)。由于并非所有收集的公司都应该有任何母公司,逻辑上这个字段应该是“必填:假”。我知道我可以轻松地将此字段的值类型保留为字符串。但是是否可以将 ObjectID 类型分配给该字段,该字段将引用包含母公司信息的文档的 _id 字段?
提前感谢您的帮助!
/* 更新 */ 在尝试了填充我的 MongoDB 的不同方法(从 csv 导入,通过我的应用程序中的“创建新公司”表单,并在专门编写的“populatedb.js”模块的帮助下)后,我终于得出结论,这样的模式(使用同一集合中的跨文档引用)不允许将“name_parent”字段留空。即使您明确定义它“必需:假”。因此,下面的说明不起作用。 comp_ParentName: {type: Schema.Types.ObjectId, ref: 'company', required: false}
请就如何处理这种关系的最佳做法提出其他建议?我想要再次在同一个集合“公司”中将母公司(一个法人实体和一份文件)引用到子公司(单独的法人实体和单独的文件)。
真的需要帮助!提前致谢!
【问题讨论】:
标签: mongodb