Aggregation Framework: небольшое сравнение с Map/Reduce как ближайшего соседа по смыслу. Ну и на закуску описание pipeline операторов с примерами из жизни на pymongo.
Mongo Aggregation Framework Что
такое
MongoDB?
NoSQL
vs
SQL.
Но
Map/Reduce
уже
был
давно?
Плюсы
и
минусы
AggregaNon
Framework.
Использование
в
боевых
проектах.
MongoDB
SQL
NoSQL
(MongoDB)
SELECT
*
FROM
table;
db.collecNon.find()
{
"k1"
:
int,
"k2"
:
text
}
{
"k1"
:
int,
"k2"
:
bin,
"k3"
:
date
}
INSERT
INTO
USERS
VALUES(3,
5)
db.users.insert({
a
:
3,
b
:
5
})
SELECT
*
FROM
users
WHERE
age
=
33
ORDER
BY
name
db.users.find({
age
:
33
}).sort({
name
:
1
})
UPDATE
users
SET
a
=
a
+
2
WHERE
b
=
'q'
db.users.update({
b
:
"q"
},
{
$inc
:
{
a
:
2
}
})
id
col1
col2
1
name1
text1
2
name2
text2
AggregaNon
Framework
¤ “Map/Reduce
is
a
big
hammer”
Chris
WesNn,
10gen
¤ Быстрый
декларативный
фреймворк
¤ Работает
на
угле
с
помощью
pipelines
¤ Не
использует
медленный
JavaScript