Я собираюсь создать систему управления студентами с использованием MongoDB. У меня будет одна таблица для студентов и другая для записей посещаемости. Могу ли я иметь ключ в таблице посещаемости, чтобы добраться до стола студентов, как показано на рисунке ниже? Как?
Ответ зависит от того, как вы собираетесь использовать данные. У вас действительно есть 2 варианта, встроить таблицу посещаемости или связать ее. Подробнее об этих подходах подробно рассказывается здесь: http://www.mongodb.org/display/DOCS/Schema+Design
Для общего варианта использования вы, вероятно, вставили бы этот конкретный коллекции, поэтому каждая запись о студенте будет иметь встроенную таблицу «посещаемости». Это сработает, потому что записи о посещаемости вряд ли будут разделены между учащимися, и для извлечения данных о посещаемости, вероятно, также потребуется информация о студентах. Получение данных о посещаемости будет так же просто, как:
db.student.find( { login : "sean" } )
{
login : "sean",
first : "Sean",
last : "Hodges",
attendance : [
{ class : "Maths", when : Date("2011-09-19T04:00:10.112Z") },
{ class : "Science", when : Date("2011-09-20T14:36:06.958Z") }
]
}