【发布时间】:2019-11-24 05:39:27
【问题描述】:
我正在学习猫鼬关系并陷入这个问题......有人告诉我我错在哪里......?有没有更好的方法来做到这一点..?
Employee.js
const mongoose = require("mongoose");
const { departmentSchema, addDepartment } = require("./Departments");
const schema = new mongoose.Schema();
const employeeModel = mongoose.model("Employee", {
Name: { type: String, required: true, minlength: 5, maxlength: 50 },
Department: departmentSchema
});
async function addEmployee(Employee, Department, Language, Framework) {
const result = await new employeeModel({
...Employee,
Department: addDepartment(Department, Language, Framework)
});
return await result.save();
}
Department.js
const mongoose = require("mongoose");
const { languageSchema, addLanguage } = require("./Language");
const departmentSchema = new mongoose.Schema({
Depart: { type: String, required: true, minlength: 5, maxlength: 50 },
Languages: languageSchema
});
const DepartmentModel = mongoose.model("Department", departmentSchema);
async function addDepartment(Department, Language, Framework) {
const result = await new DepartmentModel({
...Department,
Languages: addLanguage(Language, Framework)
});
return await result.save();
}
module.exports = {
departmentSchema,
addDepartment
};
Language.js
const mongoose = require("mongoose");
const { frameworkSchema, addFramework } = require("./Frameworks");
const languageSchema = new mongoose.Schema({
Language: { type: String, required: true },
Framework: [frameworkSchema]
});
const languageModel = mongoose.model("Language", languageSchema);
async function addLanguage(Language, Framework) {
const result = await new languageModel({
...Language,
Framework: addFramework(Framework)
});
return await result.save();
}
module.exports = {
languageSchema: languageSchema,
addLanguage
};
Framework.js
const mongoose = require("mongoose");
const frameworkSchema = new mongoose.Schema({
Name: { type: String, required: true, minlength: 4, maxlength: 50 },
Version: { type: String, required: true, minlength: 1, maxlength: 50 }
});
const frameworkModel = mongoose.model("Framework", frameworkSchema);
async function addFramework(Framework) {
const result = await new frameworkModel(...Framework);
return await result.save();
}
module.exports = {
frameworkSchema,
addFramework
};
Framework.js 出错
Found non-callable @@iterator
我想做的是
- 员工 ->
- 姓名
- 部门->
- 出发
- 语言->
- 语言名称
- 框架->
- 框架名称
- 框架版本
Every -> 代表一个新的对象(集合)
我知道对于像我这样的新手来说这有点复杂...... 我是 MySql 数据库用户,我很喜欢它,但现在我正在尝试掌握 NoSql...
提前谢谢:)
【问题讨论】:
标签: node.js mongodb mongoose nosql relationship