Маалымат базалары: MongoDB жана Mongoose
Документтик база менен колдонмонун маалыматын сактаңыз, сурап алыңыз жана түзүмдөштүрүңүз
- MongoDB'де документ, коллекция жана маалымат базасы деген эмне экенин түшүндүрүү;
- Node колдонмосун MongoDB'ге туташтыруу жана Mongoose аркылуу схема жана модель аныктоо;
- төрт CRUD операциясын аткаруу (түзүү, окуу, жаңылоо, өчүрүү);
- маселеге документтик база качан ылайыктуу, качан реляциялык база жакшыраак экенин баалоо.
1. MongoDB деген эмне? Документтер жана коллекциялар
MongoDB — бул NoSQL документтик база. Туруктуу саптары жана мамычалары бар таблицалардын ордуна ал документтерди сактайт: ийкемдүү, JSON сымал объекттерди. Байланышкан документтердин тобу — коллекция, ал эми коллекциялардын тобу — маалымат базасы.
Бир колдонуучунун документи мындай көрүнүшү мүмкүн:
{
"_id": "6512a3f0c1e4b2a9d8f00a12",
"name": "Sara",
"email": "sara@example.com",
"age": 24,
"hobbies": ["chess", "guitar"]
}
Документ массивди (hobbies) түз эле өз ичине камтыганына көңүл буруңуз. Реляциялык базада бул үчүн адатта экинчи таблица керек; MongoDB'де бул жөн гана талаа. Ар бир документ автоматтык түрдө _id талаасын алат — MongoDB сиз үчүн түзгөн уникалдуу идентификатор (бул ObjectId).
Салыштыруу. Реляциялык (SQL) базаны катуу таблица катары элестетиңиз: ар бир сап так ошол эле мамычаларды, ошол эле тартипте камтышы керек. Документтик база көбүрөөк карточкалар салынган кутуга окшош: ар бир карточка өз алдынча, тизмелерди жана ички жазууларды алып жүрө алат, эки карточка бирдей көрүнүшү милдеттүү эмес. Мындай ийкемдүүлүк күчтүү, бирок ал сиз карточкалардын шайкештигине жооп бересиз дегенди билдирет.