{
"_id" : ObjectId("56b84dab9f973b3cd5f52c8c"),
"userid" : "abcde",
"dates" : {
"2-01-2015" : {
"9-10" : {
"ava" : "no",
"bookibg_id" : "null"
},
"10-11" : {
"ava" : "no",
"bookibg_id" : "null"
}
},
"3-01-2015" : {
"9-10" : {
"ava" : "no",
"bookibg_id" : "null"
},
"10-11" : {
"ava" : "no",
"bookibg_id" : "null"
}
}
}
}
{
"_id" : ObjectId("56b84ed19f973b3cd5f52c8d"),
"userid" : "abcde",
"dates" : {
"2-01-2015" : {
"9-10" : {
"ava" : "no",
"bookibg_id" : "null"
},
"10-11" : {
"ava" : "no",
"bookibg_id" : "null"
}
},
"3-01-2015" : {
"9-10" : {
"ava" : "no",
"bookibg_id" : "null"
},
"10-11" : {
"ava" : "no",
"bookibg_id" : "null"
}
}
}
}
{
"_id" : ObjectId("56b84ed19f973b3cd5f52c8e"),
"userid" : "abcde",
"dates" : {
"2-01-2015" : {
"9-10" : {
"ava" : "no",
"bookibg_id" : "null"
},
"10-11" : {
"ava" : "no",
"bookibg_id" : "null"
}
},
"3-01-2015" : {
"9-10" : {
"ava" : "no",
"bookibg_id" : "null"
},
"10-11" : {
"ava" : "no",
"bookibg_id" : "null"
}
}
}
}
所以这只是一个简短的版本,会有很多日期和时间段。我想在猫鼬中定义模式,以便我可以查询数据库。架构应该如何,因为我对如何概括每个日期感到困惑。此外,在定义的架构中,如果特定时间段,我将如何编写查询以更改特定日期的可用性?
只有一千个可能的解决方案。
var XY = new mongoose.Schema({
userId: {type: String, required: true},
dates: [{type: String, ref: 'Date' }]
})
var Date = new mongoose.Schema({
timestamp: {type: Date, required: true},
timeSlots: [{type: String, ref: 'TimeSlot'}]
})
var TimeSlot = new mongoose.Schema({
startHour: {type: Number, required: true},
endHour: {type: Number, required: true},
ava: {type: String},
bookibg_id: {type: String}
})