#node.js #mongodb #mongoose
Вопрос:
Мне нужно создать схему для следующей структуры данных:
shedule: [
{
SUN: {
status: {type: Boolean, default: false},
tasks: [
{
start_time: {type: Date},
end_time: {type: Date},
}
]
}
},
{
MON: {
status: {type: Boolean, default: false},
tasks: [
{
start_time: {type: Date},
end_time: {type: Date},
}
]
}
},
]
Я хочу вставить манекен в схему, и я попытался использовать следующий фрагмент кода.
const shedule= [
{SUN: {}},
{MON: {}},
]
let partner = await Model.findOneAndUpdate({_id: id}, {
$set: {
shedule: shedule
}
}, {
new: true,
upsert: false,
useFindAndModify: false
}).exec();
При вставке объект SUN
вставляется дважды, а объект MON
не вставляется в базу данных. Пример объекта, выходящего из монго, выглядит так.
"shedule" : [
{
"SUN" : {
"status" : false,
"tasks" : []
},
"_id" : ObjectId("A")
},
{
"SUN" : {
"status" : false,
"tasks" : []
},
"_id" : ObjectId("B")
},
]
Вот ожидаемый результат.
"shedule" : [
{
"SUN" : {
"status" : false,
"tasks" : []
},
"_id" : ObjectId("A")
},
{
"MON" : {
"status" : false,
"tasks" : []
},
"_id" : ObjectId("B")
},
]
Комментарии:
1. У тебя плохая схема! Чтобы иметь разные объекты,
schedule
вам нужно определитьschedule: []
.