2016-02-08 2 views
-2
{ 
    "_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" 
      } 
     } 
    } 
} 

Так что это всего лишь короткая версия, будет много дат и временных интервалов. Я хочу определить схему в мангусте, чтобы я мог запросить db. Как должна быть схема, поскольку я смущен, как обобщать каждой даты. , а также в определенной схеме, как я напишу запрос на изменение avalabilty определенной даты, если определенный временной интервал?Как определить схему мангуста для данной коллекции?

ответ

0

Только один из возможных решений thousend ..

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} 
}) 
Смежные вопросы