7. Пример синтакиса
SELECT a,b FROM users WHERE age=33
db.users.find({age:33},{a:1,b:1})
SELECT * FROM users WHERE age>33
db.users.find({age:{$gt:33}})
SELECT * FROM users WHERE a=1 or b=2
db.users.find({$or:[{a:1},{b:2}]})
SELECT * FROM users WHERE age=33 ORDER BY name
db.users.find({age:33}).sort({name:1})
UPDATE users SET a=1 WHERE b='q‘
db.users.update({b:'q'},{$set:{a:1}},false,true)
8. Индексы
Обычные B-Tree индексы
• На одно поле
• Составной
• На поля вложенных объектов
• Sparse индекс
• На массив
• Геоиндекс
9. Что не умеет?
Не умеет Решение
Джоины “Embedding” – внедренные объекты
Транзакции Атомарный операции
$set, $inc,$push,$pull
Базы более 2ГБ под Win32 x64
14. Про скорость
Сравнивать NoSQL разных классов – Ошибка!
Update/Insert в 3-5 раз быстрее чем MsSQL
до 10 раз быстрее чем MySQL
Select в 1,5 -2 раза быстрее чем MsSQL
до 2х раз быстрее чем MySQL
до 10 раз быстрее (MS и My) при чтении без индексов
Вывод: все зависит от задач и контекста!