2. Mongodb is
● NoSQL
● Простота та потужність
● Документ орієнтована (json/bson)
● Вбудовані документи та масиви
● Динамічна схема
● Простота масштабування
● Повна підтримка індексації
3. Філософія Mongodb
● Простота розробки
● Горизонтальне масштабування
● Документна модель (JSON)
● Працювати будь-де
● Чотири основні риси
- гнучкість
- потужність
- швидкодія
- простота у використанні
4. Документи vs Таблиць
● Документи зберігаються у колекціях
● Колекції входять до складу баз даних
● Колекції подібні до таблиць
● Документи до записів у таблиці
● Документи можуть мати різні поля
14. Типове застосування
● Найкраще підходить для
● Зтиснення та зберігання логів
● CMS системи
● Електрона комерція
● Ігри
● Мобільні платформи
● Аналітика та статус у реальному часі
15. Типове застосування
● Погано підходить для
● Великих та складних транзакційних систем
● Проблем вимагаючих реляційних зв’язків
● Проблем потребуючих SQL
16. Проекти що використовуют
● Craigslist
● MTV Networks’ next-generation CMS
● Intuit
● bit.ly
● Wordnik
● Harmony
17. Play (1.2.3) is
● Чиста альтернатива роздутому джава
інтерпрайз стеку
● Фокусується на продуктивній розробці
● Ідеально підходить для аджайл
● Дозволяє використовувати інструменти
розробки та бібліотеки
● http://www.playframework.org
21. Приклад
List<User> users = User.q().filter(
"department eq", "IT"
).asList();
● is exactly the same as
List<User> users = User.q().filter(
"department", "IT"
).asList();
22. Приклад
@Entity public class MTB extends Model {
public String email;
public String password;
public String fullname;
public boolean isAdmin;
public MTB(String email, String
password, String fullname){
this.email = email;
this.password = password;
this.fullname = fullname;
}
}
23. Приклад
// define the embedded class
@Embedded public class Address {
public String streetNo;
public String state;
…
}
// define the embedding class
@Entity public class Customer extends
Model {
@Embedded
public Address address;
}
24. Приклад
● Отримати всі
List<MTB> mtbs = MTB.find().asList();
● Створити новий
MTB mtb = new MTB("jdow@email.com",
"John", "Doe");
mtb.save();