á¨á˝áá áľááá á¨á°áááá á áľáá
ááą ááááŞáŤ ááá áá ááá˘
áá áá áááá˝
- ááá áĽááłá á áááá˛á˘ ááľáĽ á ááŤá á˘ááá ááľá áááááľ áĽá á á áŁá á áľááá áá.
- á á°ááłáłáᣠá˘áá´ááśá˝ á¨áĽááľá áĽá áľ áĽá á¨ááłá¨áť á áŚá˝ áá ááááľ á ááŁá¸áá˘
- áľááá áááŽá˝á áĽá áľááá áľááľáŽá˝á á¨áá áá ááá áĄ.
- á á°áá á¨á°á áááľ áĽá á áľá°áááááľ áá á á°áŤáŤá á MongoDB á ááĽáŽá˝ áá áááá˘
- MongoDB á¨áá áá á ááťá˝ á¨áááᣠáľááá á¨áá áá áľáŤáá˝á á˛á°áŠ áá ááá á ááĽááľá˘
á¨áá¨á ááśá˝ áá á áŁá áá¨á
á áá áĽá¨á áŤá áá ááŁááá áá MongoDB á á
áᥠá ááááľá˘ á¨áĽáą áá ááĽáŤáľ á¨áááᏠá ááľ áŁááá¸á á¨áááá áĽááľ áááŽá˝ á áᢠá ááľ á°á á á ááľ á¨á°áá°á ááľá ááľáĽ áááľ á˛áá¨á, á¨ááἠááłáá˝ áá áĽáá°áá áĽá áá áĽáá°áá°áŠ á áľááľá á¨á°áááᥠáá¸á. ááá˝ á ááá áĽáá˛á¨áąáľ áááľá¨á á°áľá á ááľá¨áᣠá¨á°áááą áľá
á°áśá˝á áááá á áááŁááá˘
áŤááá¨áá፠á¨áááá˛á˘ á áááá ááá á
áĽáá° á áááłá°á áá MongoDB á ááŁáŞááľ áŤá áá¨áá፠á°áááᢠá á áá ááľáĽ áááá á¨áľáŤ áŁá˘áŤáŁ áá
á á°áŤá á¨á°ááá° ááᢠááá áá áááá˛á˘ áŁááĽá á°á áá áľáááľ áĽá áá
á°á¨ áľááľáłá áá áá á¨áááľ áľááá á á°áťá áá á áŤá áŁáá á áááá áá á˘áŤáľáááĄáľ ááááľ áĽáť á˘á ááá áľá á¨á°áťá ááááᢠá ááŁáŞ áá°áĽ á áŠá á á áááአáá ááŤá á˝áá ááá áá˝ááᣠá á°ááá ááááá á¨ááŤáľááŞááľ áŽáľ á áĽáŤáá ááľáĽ áá°áá á á¨áá˝á á¨áá (áááłá ᣠ$where
áĽáá° ááłáĽ
á ááŤáł á¨áá¨áá፠áá´áá˝ á áᣠáá ááá áá á¨á°á áá ááłáááŤ/á¨ááá áá áááááľ ááᢠáá á°ááľáá°á áľá áľáá
áá¨áá፠á ááŤáľáĄá áľ áá áá
á ááłáĽ áá áá
á¨áĽááąá áá˝ á¨MongoDB áá ááŤáŤáá á áááą
,
ááá
. á¨ááἠáááá˝ á áá°á á MongoDB ááľáĽ áľááá°áá°á አáááá˛á˘á á áá áááľ ááááŤáłá ááá˘
áá¨áłáá á ááłá á áá áľá á°áľ
MongoDB ááľá á áá áááᢠáá áá
áááľ áĽá
áą á áŤáľáááá áááľ á áá°áá. á°ááśá˝á áŤá ááá ááááľ ááĽááľ áŤáá áľááá°-áĽááľ áĽáť áá¨áá¸áľ á¨ááá áĽááąá áá¨áá¸áľ ááŁá áĽá ááá ááá áá˝ááᣠááá áá á áá áááŁáľ á¨áŁáľ ááá˘
ááá˛á á˝áá "
á¨áá°áá°á á á°á á°á¨á°áá á áááą
á¨áá°áá°á á
á°á á°á¨á°áá áááłáľ á¨ááááá áá á¨á°áłáłá° áá
á á¨á áá áĽáľááľ áĽá áĽá áá ááŤáŁáá áá˝ááᢠá ááŁáŞ MongoBD áá ááá
á áľááá á°ááśá˝ áľáĽáľáŚá˝á ááá áŠ
MongoDB á áľáĽáľáĽ ááľáĽ áĽáľá¨ 16MB á¨áá°ááą áľááá
á°ááśá˝á á ááľá°áááľ á°áľá°á ááá˘
á¨áľááá áľááľáŽá˝ áá á°ááśá˝á ááá á
á°ááśá˝ áľááľáŽá˝á ááá áá˝ááᢠá áľááľá ááľáĽ áŤááľ á¨ááĽá¨ áááŽá˝ áĽááľ á¨á áŤáľ-á áá ááĽá áá ââá¨áá áĽáŠ ááᢠá¤ááááśá˝ á á°á°ááá áá° áľááľá á¨á°á¨áአá ááľáĄ á¨áŤááá á°ááľ áá á
áá áĽá áŤáľááááá
MongoDB á¨ááŁá ááá á ááá˘
áŤá áľááľá áá¨á á áá ááľá¨á áĽáá°áá˝á áŤáľáĄ ááááᢠáĽáá° á áááłá°á áá á¨á˘áá´ááśá˝ áĽáĽá¨áľ ááá˝ á˝ááŽá˝ ááŤááĽáááľ áá˝ááᢠá°ááśá˝ á¨ááááŞáŤá áĽáľá¨ áá¨á¨áťá áľáááá á áľááľáŠ áá¨á¨áť áá áááá˝á áááá á¨áá áŤá áá áááľáłá áĽá á¨áĽáá°áá
ááááľ á°ááľ áá á¨á°áŤáŤá á áĽááááš áľáŤáá˝
á áľáĽáľáĽ ááľáĽ á¨áĽáá¨áá˝ á á°á á°á¨á°á á áľááá áááá á áááą
á áá¨á ááľ (áłáłá¤á) áľáááľ áá áá á ááťá˝ áŤááᣠá¨áá˝áá¸á áĽáŤááá˝ áĽáá´áľ ááááľ áĽáá°áá˝á áłááá áá ááááľ áĽáá°áááá ááĽáŤáŞáŤáá˝ áá¸áᢠáá áá´ á¨áá áŤá á á ááľ ááἠá¤áľ ááľáĽ á¨ááá áá á ááááá áá-áĽááá áá á ááá ááἠáŤáá áĽá áááĽá°áŤá áááá áááŞáŤáá˝á á ááľáĄá˘
á áááá˛á˘ ááľáĽ ááἠááĽá°áŤáá áŤáľá°ááŤá. áááłá, ááᥠáááá áá¨ááἠá ááĽááľ reduce
á á°áťá ááĽááľ á á§á᧠á áá áá $match
и $project
, áĽá áá°áá°á á¨áá¨á°á°á á áá áĽáť áá reduce
, áĽá áááá á áľááá á áááááľ á
á°á á°á¨á°á áá¨áááá. á ááľááá áľáŤá á¨ááŤáľáááľáŁá á°áťá áá á á
á°á á°á¨á°áá˝á á¨ááá áĽá á¨ááááá á áááśá˝á á¨áááἠáá áá
á ááťá˝ ááአááŤá áá˝ áá˝ááᢠá MongoDBᣠá áážáľ áá á¨á áá ááĽáĽá á áááľá˘
áĽáá° ááłáŞáŤáá˝
ááŁá áá¨áť á áá áá
MongoDB á¨ááťá á ááŤáŽá˝á á á¨áá°á ááĽááľ ááá áá áá á°á á áľá°áááááľ áĽáá˛áá¨á á áášá á áłáľáááĽá˘ áá áááł "ááá-áĽá-áááłáľ" ááŁá áááľáá ááááŤáąá á˝áá á¨áá¨á°áą á ááľ áľááá ááááłá. ááᥠáá° á˛áľá á¨ááťá á ááľ áľáááą á¨á°á áḠáá áá áĽá áá° ááĽááľ á ááá áááł áŤá ááᢠáĽáá° áĽáľá ááᣠ64-á˘áľ MongoDB áááŁáľ áá áˇáá˘
áá
áá ááá¨áá¨á á¨á¤áá¤áá¤ááŞ1 áĽá á¨áááŹáľá˛áá áá¨ááť áá°áŽá˝ áááἠááľáłááťá áá áááᣠááá áĽááłá WiredTiger áá° áá¨á¨áťá ááĽááľ ááŤááá á˘á˝áá
áááá ááľá¨á á¨áá¨á ááą á¨á°ááá° á áá ááĽááľ áŁáá áááł ááľáĽ áááá áŤá¨áááŁá áĽá áá° áá˝ááą áĽáľáŞáťá áľá¨áľ áááá áá¨ááá˝ áŤááŤáᢠá¨áá
áá áľáááá˝ áááŞáŤáá á áá áá ááááŤáá˘
.
áľá áá¤áśá˝ áĽááá á ááááᣠá ááááŞáŤá ááá ááľáĽ áááŁáľ ááááąá áŤá¨áááĄ
, áĽá á¨á°ááłá áľáááá˝ áĽááľá ááŤáĄ á¨áá˝ááľ á¨áá¨á áá á áá ááááłá.
áŤá áá¨á á áá áá°áá°á
á˛ááá áĽá á˛áááą áĽá áá ááἠáá°áá°á áŤáľááááᢠá¨á°á°á¨á°áŠáľá á¨ááἠáá á áááááľ áá¤áąá áŤáŁáŤ á áá áá
á áá¨á¨áťááš á°á¨ááá˝ á á ááą áĽáá°áá°á¨á á°áľá áĽááľááᢠáĽá á áá
áááł ááľáĽ áĽááłá, ááá°áá°á áŤáľáááááłá
á°áľáá á˘áá´ááľ á¨áá MongoDB áŤááą áŤá°ááááᢠá ááá á°ááśá˝ á á ááá áá á 32 áᣠá¨áá
á°á¨ áľááľáł áá°áĽ á áá˘
áŤá áá¨á á áá áľáá áááá
á¨ááá áá ááá˝ á SQL ááľáĽ áŤáá á¨JOIN á á áŤá áá á°ááłáłá á¨áá á°ááŁá áŤá¨ááááᢠá á°áťá áááł áááľáŤáľ áĽáá° á¨áá ááá áĽá
á áá á¨áááá ááá áĽá´áľ áá¨á á áá áŤáľáááá¸áá. á á ááá áľááá°áá¸áŁá¨á áá
ááá˝ á áá°áá explain()
. áĽáá°ááá
áŤááľ á˘áá´ááśá˝ á¨á°ááá áá¨á á áá á á°á¨á᪠áá¸á explain()
, áĽáąá á á°áŤá á á§á᧠áŚááŹá°áŽá˝ áĽá
á áá áááá $match
и $sort
, á á§áá§á ááááŞáŤ áá á˛ááá. á˘áá´ááśá˝ á áá áááááá á°á¨á áá¸áá áá˝áá
áŁááĽá-ááááá˝á á¨áá áá ááጠáááŁáľ
áá´
áĽááľá á ááášáľ áá¤áľ áá á áááľá¨áľ á¨ááŁá á°ááľá ááá ááá áááá á°ááľ áĽáľá¨ áá ááľá áľá¨áľ ááááἠáá á
ááá˘
. á áŁá ááá˝ áŤáááá áááŤáá áŤáááá á áľá°áá áááá á°ááśá˝ á ááá˝áľ ááľáĽ á áŤáľáŹáľá
á¨áĽáŤááá ááľáááľ á¨ááŤáá á°ááśá˝á áá ááááá.
á áá˝ á áá á¨áĽ ááľáĽ á¨áááá˝á á á°á á°á¨á°á á áľáááááľ á áááą
á JSON ááľáĽáŁ á ááľ ááá áŤááłáá á¨áᎠáá á ááá á¨á፠á áá áľá/áĽá´áľ áĽááśá˝á áŤáá ááᣠáľá ááĽá¨ááá áĽá áĽá´áľ ááĽá¨áááᣠááĽáᣠáĄááŤáᣠáŁáśáŁ áá ááá áľááľá ááá˘
áĽáá° á áááłá°á áá BSON á˛ááá á áľááá áá áľáá
áľáŠá¨áľ áá°áŁáᢠá MongoDBᣠá áĽáŽ á á°á°áŤ áááá˝ ááľáĽ áŤá á¨ááá á
á°á á°á¨á°á { firstname: "Phil", surname: "factor" }
- áá
á°ááłáłá á áá°áá { { surname: "factor", firstname: "Phil" }
. áááľáᣠáĽááąá áááááľ áĽááá á áááá á¨ááá á á°ááśá˝á ááľáĽ á¨áľá/á¨áĽá´áľ áĽááśá˝ á
á°á á°á¨á°á áá¨áá¸áľ á ááĽááľá˘
á፠á áľáᥠ"áŁáś" и "áŤáá°ááá¸"
áá "áŤáá°ááá¸" á JSON ááľáĽ áá˝á á¨áá°áŤ á ááá á¨áᣠáĽáá°ááá $null
, áá
á áááá áĽáŠ áááľá á áá°áá.
á°á áá $limit()
áŤá $sort()
áĽá áá á MongoDB ááľáĽ á ááááĄá áľ ááᣠá¨áĽáŤá ááá á¨áľáá á¨áááá°áá á¨áá¤áľ ááá áá¨áľ áĽáť á áá ááᢠááá
á°ááŁá áŤáľáááááłá $limit()
, ááá áá á¨áá
á ááľ áŤáá°á ááá áľ á áľá°áá á áá¨á¨áťá áŽáľ ááľáĽ á ááŤá˝ ááá á¨áá áľá $sort
. áá
ááŤáá á áľááá áá ááááŤáąá á áá áá፠á¨áá¤áąá á
á°á á°á¨á°á áá¨ááἠá áá˝áá, áĽá áááĄá á á áľá°ááá áááł áá¨áľ á áá˝áá. á áá¤áą á ááľ áá áĽáá° áá°áŁá á¨á°ááŤáŠ áá¤áśá˝á áŤááá. á á áľá°ááá áááł áááľáŤáľáŁ áá ááá˝ áĽá áá
á°áśá˝ ááŤáĽ ááá á ááŁá¸áᣠáááľáᣠá á°áá¸á ááĽá á°ááłáłá áá¤áľ áŤáľáááᢠá¨áŤá áŽáľ $limit()
, áá á áá°áá $sort
, ááŤáĽ á áááá áĽá á ááá áá ááá¨áłá°á á áľá¸á᪠á¨áá áľá
á°áśá˝á ááŤáľá¨áľá áá˝áá.
áá°áá°ááŤ
á MongoDB á¨ááŤáłááá áľ áĽá¸áá ááááľ áĽáąá á¨áá á¨ááἠááł áĽáá° á˛á˘á¤áá¤áľ áá áááłá°á ááá á á°áá°á á°áľááá˝ áá á áááľá¨áľ áĽáąá ááá áá áááŁáľ ááᢠáĽááąáŤáá á¨ášáŤ áá áĽáá°áááłá°á ááᢠá¨ááἠááł áľáááśá˝ á¨á°áá°á ááááá˝á áŤááááá. áĽááá á ááŠááśá˝ á ááá áá¨áłáľ áĽá ááľáá áĽáŠ ááᢠá¨áááá˛á˘ ááá˘áá˝á á á˛á˘á¤áá¤áľ ááááľ áĽáá˛áááą á ááŤáľááľáľ ááááľ áá áŤá ááľá¨á á áłá᪠ááᢠáĽáá° á¨ááἠáłááááľ áá¨ááἠáĽá ááľááľá áĽá á°ááŽá-á áá áĽááśá˝á áááá á¨áá˝á á¨ááἠáľáááśá˝á ááá á áŤá á¨áአá˝ááŽá˝á ááááłáľ á á˛áľ áĽá á áľá°áłá˝ ááááśá˝á áá¨áľ áĽáááááá˘
á¨áááá˛á˘ á¨á¤á˛á áᲠááĽááľ á áľáŞáľ 4.0 ááľá°ááá á áá ááťáťáŤáá˝á á áá ፠ááááľ áááľá°ááá áĽáŠ ááłá ááᢠáŁááĽá á°ááľ áĽá áŁá áĽá ááá፠ááĽááśá˝ á áá á áśáá áá¸áᢠá á°á¨ááŞá áááááŤáá˝á áááááľ áĽá á¨á°áŁá á ááĽááśá˝á áááá á¨ááŤáľááááá áá ááľá°áŤá¨á áĽáá˛áá á¨áááá á°á¨áá ááá¨á ááťáá.
á°á¨á᪠áŤááĽáĄáĄ
ááá: hab.com