Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
MongoDB не требует описания схем таблиц благодаря чему вы можете с легкостью сохранять объекты, и таким образом быстрее приспосабливаться к изменениям в требованиях...
{
"students":[
{
"name": "ivanov",
"table": {
"id": 1
}
},
{
"name": "petrov",
"table": {
"id": 1
}
},
{
"name": "sidorov",
"table": {
"id": 1
}
}
]
}
user collection
[
{
_id: 1,
name: "Vasia"
}
]
student collection
[
{
_id: 123,
user_id: 1,
start_time: 1369925201,
end_time: 1369925201
}
]

«в «третьей» коллекции запись есть, а id таких нет» — это проблема в голове.
Да «банковские» задачи без транзакций не решаются.
START TRANSACTION;
UPDATE account SET amount = amount - :amount WHERE id = :debet_account_id;
UPDATE account SET amount = amount + :amount WHERE id = :credit_account_id;
COMMIT;
и последующей выборки из таблицы account по нужному id счёта, когда нам нужно получить баланс счёта.{
amount: :amount,
debet_account_id: :debet_account_id,
credit_account_id: :credit_account_id
}
Да, альтернативы JavaScript’у рождаются каждый день, например, CoffeeScript, TypeScript и миллионы языков, которые компилируются в JavaScript. Эти альтернативы могут быть полезными на этапах разработки (благодаря source maps), но им не удастся заменить JavaScript в долгосрочной перспективе по двум причинам: их сообщества никогда не станут больше, и их лучшие возможности будут реализованы в ECMA Script (читай: JavaScript).
JavaScript это не язык ассемблера, это высокоуровневый язык программирования с исходных кодом, который вы можете понять, так что вы должны понять его.Для вас может быть сюрпризом, но есть люди, которые могут читать ассемблер. Вопрос в том, хотят ли. Я вот тоже не очень горю желанием читать генерируемый CoffeeScript'ом js-код. Да, разобраться можно, но приятным чтением не назовешь. А если сделать высокоуровневый DSL, в котором одна строчка будет транслироваться в десятки, а то и сотни строк javascript, вам тоже на захочется лезть под капот. При достаточном уровне качества трансляции, такой необходимости просто не будет. Часто ли современные разработчики прикладных приложений на C++ лезут в дизассемблер? Или Java/.NET-разработчики читают байт-код? Я пока не изучал Dart, так что поправьте, если я не прав, но там уже нет необходимости знать javascript. Либо она отпадет в каком-нибудь новом языке.
Init.js: Зачем и как разрабатывать с Full-Stack JavaScript