ืชืจืืื ืืืืืจ ืืืื ืขืจื ืชืืืืช ืืงืืจืก
ืืืืจื:
- ืืฉืื ืืืืชืจ ืืคืชื ืกืืืื ืืืจืืช ืฉืืื ืืืคืฆืืื ืืืช ื- MongoDB.
- ืืืืคื ืืืื, ืืืื ืืงืกืื ืืืืืื ืืืชืืื ืืกืืืื ืืืคืืกื ืืืืฉื ืฉืื.
- ืืืื ืข ืืฉืืืืฉ ืืืคืฆืื ืืืืืื ืืืขืจืืื ืืืืืื.
- ืืืืืจ ืขื ืืืืจืืช MongoDB, ืืืืืื ืืฉืืืืืจ ืืืืืื ืืืืื ืืช.
- ื-MongoDB ืืื ืืื ืืืคืืืืืืฆืื ืฉื ืฉืืืืชืืช, ืืื ืขืืื ืืืืืช ืืืืจ ืืขืช ืืืฆืืข ืคืขืืืืช ืฉืืืืชื.
ืื ื ืขืืื ืขื ืืกืื ื ืชืื ืื ืืืจ ืืจืื ืืืื ืืื, ืืื ืจืง ืืืืจืื ื ืืืืืชื ืืช MongoDB. ืืฉ ืืื ืืืจืื ืฉืืืืืื ืฉืืืขืชื ืืคื ื ืฉืืชืืืชื ืืขืืื ืขื ืื. ืืืฉืจ ืืืื ืืืจ ืืฉ ื ืืกืืื ืืชืืื ืืกืืื, ืืฉ ืื ืืขืืช ืงืืืืืช ืืืื ืื ืื ืืืืจื ืืืืข ืืื ืื ืขืืฉืื. ืืชืงืืื ืืืงื ืขื ืืืจืื ืืืืื, ืื ื ืืฆืื ืจืฉืืื ืฉื ืืขืืืืช ื ืคืืฆืืช.
ืืฆืืจืช ืฉืจืช MongoDB ืืื ืืืืืช
ืืจืืข ืืืื, MongoDB ืืืชืงื ืืื ืืืืืช ืืืจืืจืช ืืืื. ืขืืืจ ืชืื ืช ืขืืืื ืฉืืืืฉื ืืืื ืืื ืืงืืืืช, ื ืืื ืื ื ืืจืืื. ืืื ืืืืืื ืฉ-MongoDB ืืื ืืขืจืืช ืืจืืืช ืืฉืชืืฉืื ืฉืืืืืช ืืืฉืชืืฉ ืืืืืืืช ืืืืืืช ืฉื ืืืืจืื, ืืืื ืืื ืืืชืจ ืื ืชืฉืืื ืืืชื ืขื ืฉืจืช ืขื ืืื ืฉืืืชืจ RAM, ืื ืื ืืชื ืืืืืื ืืืฉืชืืฉ ืื ืจืง ืืคืืชืื. ืืชืงื ื ืืฉืจืช ืืจื ืืฆืืืช ืืจืืจืช ืืืืื ืขืืืื ืืืืืช ืืขืืืชืืช, ืืืืืื ืื ื ืืชื ืืืคืขืื ืงืื javascript ืืืฉืื ืืืงืฉื (ืืืืืื, $where
ืืจืขืืื ื
ืืฉื ื ืืกืคืจ ืฉืืืืช ืืืืืช, ืื ืืงืื ืืืืชืจ ืืื ืืืืืืจ ืืืื ืืฉืชืืฉ/ืกืืกืื. ืืฉืชืืฉ ืืจืขืืื ืืื ืืืื ืฉืืชื ืืืฉื ืขื ืืืืืช ืืคืืืจ ืืืืืกืก ืขื
ืื ืชืฉืื ืืืื ืืช ืืฉืื ืืืชืงืคื ื-MongoDB
,
ืื
. ืืืืืื ืฉืงืืืฆื ื ืชืื ืื ืืื ื ืืืฆืคื ืื ื-MongoDB ืืกืื ืืจืื, ืืืืื ื ืืืคืขืื ืืช MongoDB ืืืชื
ืฉืืืื ืืขืช ืคืืชืื ืืืขืื
MongoDB ืืื ื ืืฉืชืืฉ ืืกืืืื. ืืื ืื ืื ืืืืจ ืฉืืื ืฆืืจื ืืชืืื ืืช. ืื ืืชื ืจืง ืจืืฆื ืืืืกื ืืกืืืื ืืื ืื ืืคืืก ืขืงืื, ืืืกื ื ืืืื ืืืืืช ืืืืจ ืืงื, ืืื ืฉืืืคืชื ืืืืืจ ืืืชืจ ืืืืื ืืืืืช ืงืฉื.
ืืืืจ ืงืืืกื"
ืื ืชืฉืื ืืช ืกืืจ ืืืืื
ืฉืืืช ืกืืจ ืืืืื ืขืืืื ืืืจืื ืืืืชืจ ืชืกืืื ืืืืืืื ืืื ืจื ืืืชืจ ืืื ืชืฆืืจื ืื ื ืืื ื ืืืจืช. ืืืจืืจืช ืืืื, MongoBD ืืฉืชืืฉ
ืฆืืจ ืืืกืคืื ืขื ืืกืืืื ืืืืืื
MongoDB ืฉืืื ืืืจื ืืกืืืื ืืืืืื ืขื 16MB ืืืืกืคืื, ื
ืืฆืืจืช ืืกืืืื ืขื ืืขืจืืื ืืืืืื
ืืกืืืื ืืืืืื ืืืืื ืืขืจืืื. ืขืืืฃ ืื ืืกืคืจ ืืืืื ืืื ืืืขืจื ืจืืืง ืืืืืืช ืืกืคืจ ืื ืืจืืข ืกืคืจืืช. ืื ืืืื ืืื ืืชืืืกืคืื ืืืขืจื ืืขืชืื ืงืจืืืืช, ืืื ืืืื ืืืืกืื ืืืืื ืืืชื ืืืฆืืจื ืืืืืช
ื-MongoDB ืืฉ ืืฉืื ืฉื ืงืจื
ืืชื ืขืฉืื ืืืฉืื ืฉืืชื ืืืื ืืขืฉืืช ืืื ืืื ืืงืก ืืขืจื. ืืืจืื ืืฆืขืจ, ืืืขืืจ ืืื ืืงืกืื ืขืืื ืืืจืื ืื ืืืขืืืช ืืืจืืช. ืืืืืื ืฉืืกืืืื ื ืกืจืงืื ืืชืืืืชื ืืขื ืกืืคื, ืืืืคืืฉ ืืืจ ืืืื ืืื ืืกืืฃ ืืืขืจื ืืืงื ืืื ืจื ืืืชืจ, ืืจืื ืืคืขืืืืช ืืงืฉืืจืืช ืืืกืื ืืื
ืื ืชืฉืื ืฉืกืืจ ืืฉืืืื ืืฆืืืจื ืืฉืื
ืืืขืจืืช ืืกื ื ืชืื ืื ืขื ืืืคืืืืืืฆืืืช ืฉืืืืชืืช, ืืฉืืืืชืืช ืฉืืชื ืืืชื ืื ืืกืืจืื ืขื ืื ืืชื ืจืืฆื ืืงืื, ืื ืืื ืืืฉืื ืืช ืื. ืืื ืื ืื ืืื ืขืืื ืืื ืืืืื ืืืืื ื ืืืกืขืื: ืืืจื ืืื ืืชื ืคืฉืื ืืืืื ืื ื, ืืื ื ืืชื ืืืจืืืช ืืคืืจืืืช ืืืื.
ื-MongoDB ืืชื ืืืจื ืืืื. ืืืืืื, ืขืืื ืืืืื ืฉืื ืชืื ืื ืขืืืจืื reduce
ืืืงืื ืืื ืืืคืฉืจ ืืฆื ืจืช ืืืืฆืขืืช $match
ะธ $project
, ืืืืืื ืืชืจืืฉ ืจืง ืืืืจ reduce
, ืืฉืืืืคืืฉ ืืชืจืืฉ ืืืืืง ืืกืืจ ืืจืฆืื. ืฉืืืืฉ ืืืืืื ืฉืืืืชืืช ืฉืืืื ืขืืืื ืืืืชืจืช, ืืกืืจ ืืช ืืฉืืืื ืืฆืืจื ืืืคืืืืืืช ืืืืืจ ืกืืื ืืฆืืจืคืืช ืืืื ืืงืืงื ืืืชื. ืขื MongoDB, ืืฉ ืื ืืืชืจ ืฉืืืื ืืืืืจ ืฉื ื ืืืืช.
ืืืื ืืื
ืฉืืืืฉ ืืืงืืื ืืืืจื
ืืขืืื ืื ืชืืืืจ ืืช ืืคืฉืจืืืืช ืืืชืืื ืฉื MongoDB ืืืืืจืืช ืืืืื ืื ืืืื ืืช ื ืืืื. ืืืฆื ืืื "ืชืืง ืืฉืื" ื ืจืื ืืืืจ ืื ืืคืงืืื ืืืืืจืช ืืคื ื ืฉืืืชืืื ืืชืจืืฉืช. ืื ืืืขืจืืช ืงืืจืกืช ืืคื ื ืฉืื ืชืื ืื ื ืืชืืื ืืืืกืง, ืื ืืืืื ืืืกืชืืื ืืืฆื ืื ืขืงืื. ืืืจืื ืืืื, 64-bit MongoDB ืืืคืขืืช ืืจืืฉืื.
ืื ืืขื ืืืืกืื MMAPv1 ื-WiredTiger ืืฉืชืืฉืื ืืจืืฉืื ืืื ืืื ืืข ืืืช, ืื ืื WiredTiger ืืืื ืืืชืืืฉืฉ ืขื ืืืืจืื ืืขืงืื
ืจืืฉืื ืืืืื ืืืืื ืฉืืกื ืื ืชืื ืื ื ืืฆื ืืืฆื ืขืงืื ืืืืจ ืืฉืืืืจ ืืฉืืืจ ืขื ืื ืื ืชืื ืื ืขื ืืืชืืืชื ืืืืื. ืชืืืจืืช ืืืงืืืืช ืืืืืจืช ืืืืฆืขืืช ืืคืจืืืจ
.
ืืื ืืืืืช ืืืื ืืขืจืืื, ืืื ืฉืืจืืฉืื ืืืคืขื ืืงืืืฅ ืืชืฆืืจื
ืืชืืืจืืช ืืืงืืืืช ืืชืืืื ืืืืืช ืืืืืข ืฉืืชื ืืืื ืืืจืฉืืช ืืขืฆืื ืืืื.
ืืืื ืืื ืืื ืืงืก
ืืขืช ืืืคืืฉ ืืฆืืืจื, ืืขืืชืื ืงืจืืืืช ืืฉ ืฆืืจื ืืืืื ื ืชืื ืื. ื ืงืืื ืฉืื ืืืขืฉื ืืืื ืืฉืืืื ืืกืืคืืื, ืืืืจ ืกืื ืื ืืชืืฆืื ืขื ืื ืช ืืฆืืฆื ืืช ืืืืช ืื ืชืื ืื ืืืืืื ืื. ืืื ืืืงืจื ืื, ืืืืื ืชืฆืืจื
ืื ืืื ืืื ืืงืก ืืชืืื, MongoDB ืชืกืชืืจ ืืืขืืื. ืืฉ ืืืืืช ืืืืจืื ืฉื 32 ืืื-ืืืื ืขื ืืืืื ืืืืื ืฉื ืื ืืืกืืืื ื
ืืคืฉ ืืื ืชืืืื ืืืื ืืงืก
ืฉืืืืชืืช ืืืคืืฉ ืืืฆืขืืช ืคืื ืงืฆืื ืืืื ืืคืขืืืช JOIN ื-SQL. ืืื ืืขืืื ืืฆืืจื ืืืืื ืืืืชืจ, ืื ืฆืจืืืื ืืช ืืืื ืืงืก ืฉื ืืขืจื ืฉื ืืืคืชื ืืืฉืืฉ ืืืคืชื ืืืจ. ืื ืื ืืืื ืืืืื ืื ืืฉืืืืฉ ืื ืื ืืืื ืืืืื explain()
. ืืืืื ืืืื ืืชืืืกืคืื ืืืื ืืงืก ืฉื ืืชื ืื explain()
, ืฉืืชืืจื ืืฉืืฉ ืืช ืืคืขืืื ืืฆืื ืืจืืช $match
ะธ $sort
, ืืฉืื ื ืคืืฉืื ืืชืืืืช ืืฆืื ืืจ. ืืื ืืงืกืื ืืืืืื ืืขืช ืืืกืืช ืื ืฉืื
ืืืืื ืืกืืื ืืฉืืืืฉ ืืจืืืื ืขืืืื ืื
ืฉืืื
ืืฉืืฉ ืืฉืื ืื ืืืง ืืืกืื ืงืืื ืื ืืืกืื ืืืื, ืขื ืืืืืคื ืืืื, ืืืชืื ืืคืจืืืจ ืฉืชืฆืืื
. ืื ืฉืื ืื ืื ืืจืืจ ืืื ืฉืืื ืื ืืขืื ืืช ืื ืืืกืืืื ืืืืกืฃ ืืื ืื ืชืืืืจ ืืช ืืืคืฉืจืืช
ืืขืืื ืืช ืื ืืืกืืืื ืืขืืืืื ืืงืจืืืจืืื ื ืืืงืฉื.
ืื ืชืฉืื ืืช ืืืฉืืืืช ืฉื ืกืืจ ืืืคืชืืืช ืืืืืช ืืฉืืฉ
ื-JSON, ืืืืืืงื ืืืจืื ืืืืกืฃ ืื ืืกืืืจ ืฉื ืืืื ืืคืก ืื ืืืชืจ ืืืืืช ืฉื/ืขืจื, ืืืฉืจ ืฉื ืืื ืืืจืืืช ืืขืจื ืืื ืืืจืืืช, ืืกืคืจ, ืืืืืื ื, null, ืืืืืืงื ืื ืืขืจื.
ืืจืืข ืืืื, BSON ืฉืื ืืืฉ ืจื ืขื ืกืืจ ืืขืช ืืืืคืืฉ. ื-MongoDB, ืกืืจ ืืืคืชืืืช ืืชืื ืืืืืืงืืื ืืืื ืื { firstname: "Phil", surname: "factor" }
- ืื ืื ืืืชื ืืืจ ืืื { { surname: "factor", firstname: "Phil" }
. ืืืืืจ, ืขืืื ืืืืกื ืืช ืกืืจ ืฆืืื ืืฉื/ืขืจื ืืืกืืืื ืฉืื ืื ืืชื ืจืืฆื ืืืืืช ืืืื ืืืฆืื ืืืชื.
ืื ืชืืืื "ืจืืง" ะธ "ืื ืืืืืจ"
ืขืจื "ืื ืืืืืจ" ืืขืืื ืื ืืื ืชืงืฃ ื-JSON, ืืคื $null
, ืืื ืื ืชืืื ืคืชืจืื ืืื.
ืืืฉืชืืฉ $limit()
ะฑะตะท $sort()
ืืขืชืื ืงืจืืืืช ืืืฉืจ ืืชื ืืคืชื ื- MongoDB, ืื ืฉืืืืฉื ืจืง ืืจืืืช ืืืืื ืฉื ืืชืืฆืื ืฉืชืืืืจ ืืฉืืืืชื ืื ืฆืืืจื. ืขืืืจ ืืฉืืื ืื ืชืฆืืจื $limit()
, ืืื ืื ืื ืืืืจ ืืืืืช ืืงืื ืืกืืคื ืืื ืื ืื ืืชื ืืฉืชืืฉ ืื ืงืืื $sort
. ืืืื ืื ืื ืืืจืื ืื ืืืจืช ืืื ื ืืืื ืืืืืื ืืช ืกืืจ ืืชืืฆืื, ืืื ืชืืื ืืจืืืช ืืืืคื ืืืื ืืช ืื ืชืื ืื. ืืจืืฉ ืืชืืฆืื ืชืงืืื ืขืจืืื ืฉืื ืื ืืืชืื ืืืืื. ืืื ืืขืืื ืืฆืืจื ืืืืื ื, ืฉืืืืชืืช ืืืืจืืฆืืืช ืืืืืืช ืืืืืช ืืืจืืื ืืกืืืืช, ืืืืืจ ืืืคืืง ืืช ืืืชื ืชืืฆืืืช ืืื ืคืขื ืฉืื ืืืืฆืขืืช. ืงืื ืฉืืืื $limit()
, ืืื ืื $sort
, ืื ืืืื ืืืจืืื ืืกืื ืืขืืื ืืืจืื ืืืืจ ืืื ืืฉืืืืืช ืฉืงืฉื ืืืื ืืืชืจ ืืืชื.
ืืกืงื ื
ืืืจื ืืืืืื ืืืชืืืื ื-MongoDB ืืื ืืืฉืืืช ืืืชื ืืฉืืจืืช ืืกืื ืืืจ ืฉื ืืกื ื ืชืื ืื, ืืื DBMS, ืื ืืืื ืืืฉืชืืฉ ืื ืขื ืกืื ืฆืืคืืืช ืืกืืืืืช. ืื ืืื ืืืฉืืืช ืชืคืื ืืืืื. ืืขืจืืืช ืืกืื ื ืชืื ืื ืืฉืจืชืืช ืืืจืืช ืกืคืฆืืคืืืช. ืขืืืฃ ืคืฉืื ืืืืื ืืืืขืจืื ืืช ืืืืืืื ืืืื ืืขืฆืื. ืื ืืืื ืืื ืืืืืฅ ืขื ืืคืชืื MongoDB ืขื ื ืชืื ืฉืืืืฅ ืืืชื ืืจืืช ืื ืชืื DBMS. ืื ื ืจืืฆื ืืจืืืช ืืจืืื ืืืฉืืช ืืืขื ืืื ืืช ืืคืชืจืื ืืขืืืช ืืฉื ืืช, ืืื ืืืืืช ืฉืืืืช ืื ืชืื ืื ืืืฆืืจืช ืืขืจืืืช ื ืชืื ืื ืขืืืืืช ืืคื ื ืืฉืืื ืืืชืงืคืืช ืืืื ืืืช.
ืืืงืืื ืฉื MongoDB ืฉื ACID ืืจื ืืงืฆืืื ืืืืช ืืืจืกื 4.0 ืืื ืืืืื ืืืื ืืืื ืกืช ืฉืืคืืจืื ืืฉืืืื ืืฆืืจื ืืืฉื ืืช. ืขืกืงืืืช ืืจืืืืช ืืกืืืื ืืืกืคืจ ืืฆืืจืืช ืื ืืขืช ืืืืืืืช. ืืื ืื, ื ืืชื ืืืชืืื ืืช ืืืื ืื ืืจืฉ ืืจืืืฉืช ืื ืขืืืื ืืืกืืื ืขืกืงืืืช ืฉื ืชืงืขื, ืืื ืืฉื ืืช ืืช ืจืืช ืืืืืื.
ืงืจื ืขืื:
ืืงืืจ: www.habr.com