Я настраиваю базу данных, и во время тестирования, с фиктивными данными, массивы ObjectId не сохраняются в базе данных
Я проверил, используя встроенную функцию mongoose, и он возвращал значение true, когда я проверилбыли ли это идентификаторы объектов или нет
схемы выглядят примерно так
const projectSchema = new mongoose.Schema({
name: String,
description: String,
tasks: [{ type: Schema.Types.ObjectId, ref: "Task" }],
feedBack: String
});
let Project = mongoose.model("Project", projectSchema);
const taskSchema = new mongoose.Schema({
name: String
});
let Task = mongoose.model("Task", taskSchema);
И я добавляю коллекцию вот так
async function dbLoad() {
let taskArr = projectDummy.map(project => project.tasks);
let taskCollection = [].concat(...taskArr).map(task => {
let t = new Task();
t.name = task.name;
return t;
});
await Task.insertMany(taskCollection);
let projectCollection = [];
for (let project of projectDummy) {
let taskArr = [];
for (let task of project.tasks) {
let data = await Task.findOne({ name: task.name });
taskArr.push(data["_id"]);
}
projectCollection.push(
new Project({
name: project.name,
description: project.description,
tasks: taskArr
})
);
}
await Project.insertMany(projectCollection);
}