All language subtitles for 007 Relationships in MongoDB_en

af Afrikaans
sq Albanian
am Amharic
ar Arabic
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bn Bengali
bs Bosnian
bg Bulgarian
ca Catalan
ceb Cebuano
ny Chichewa
zh-CN Chinese (Simplified)
zh-TW Chinese (Traditional)
co Corsican
hr Croatian
cs Czech
da Danish
nl Dutch
en English
eo Esperanto
et Estonian
tl Filipino
fi Finnish
fr French Download
fy Frisian
gl Galician
ka Georgian
de German
el Greek
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian
is Icelandic
ig Igbo
id Indonesian
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
km Khmer
ko Korean
ku Kurdish (Kurmanji)
ky Kyrgyz
lo Lao
la Latin
lv Latvian
lt Lithuanian
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mn Mongolian
my Myanmar (Burmese)
ne Nepali
no Norwegian
ps Pashto
fa Persian
pl Polish
pt Portuguese
pa Punjabi
ro Romanian
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
st Sesotho
sn Shona
sd Sindhi
si Sinhala
sk Slovak
sl Slovenian
so Somali
es Spanish
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
te Telugu
th Thai
tr Turkish
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu
or Odia (Oriya)
rw Kinyarwanda
tk Turkmen
tt Tatar
ug Uyghur
Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated: 1 00:00:00,180 --> 00:00:05,380 In the previous lessons, we looked at how we might implement CRUD using MongoDB. 2 00:00:05,430 --> 00:00:12,390 Now in this lesson, I want to show you how you might establish relationships in your database with MongoDB. 3 00:00:12,810 --> 00:00:15,020 There's two main ways of doing this 4 00:00:15,150 --> 00:00:18,730 and the first way is in most cases the preferred method. 5 00:00:18,990 --> 00:00:23,120 But what you choose will depend on the architecture of your data. 6 00:00:23,160 --> 00:00:27,270 So it depends on how your data relates to each other and how it's structured. 7 00:00:27,510 --> 00:00:34,350 Coming back to our shop database, let's say that we wanted to have another product so we might say something 8 00:00:34,350 --> 00:00:38,550 like db.products.insert 9 00:00:38,730 --> 00:00:44,130 and in this case the product that we want to insert happens to be a rubber. 10 00:00:44,490 --> 00:00:48,310 So we might say that this one has an id of 3 11 00:00:48,360 --> 00:00:54,320 and it's got a name of Rubber. 12 00:00:54,480 --> 00:01:01,340 It's got a price of 1.30 and a stock of 43. 13 00:01:01,920 --> 00:01:07,420 But this Rubber has also received reviews on our website. 14 00:01:07,770 --> 00:01:12,420 And so we can represent these reviews using an array. 15 00:01:12,780 --> 00:01:19,190 And inside the array we might have- we might have a few embedded documents. 16 00:01:19,530 --> 00:01:24,120 Every document is represented by a set of curly braces. 17 00:01:24,120 --> 00:01:31,380 And if we had a document that will represent the data for a review then we could embed that into another 18 00:01:31,380 --> 00:01:32,230 document. 19 00:01:32,520 --> 00:01:36,420 So our reviews document might have say an authorName 20 00:01:36,480 --> 00:01:42,410 so in this case it was somebody called Sally, and it might have a rating 21 00:01:42,600 --> 00:01:46,010 so they said that this was 5 stars. 22 00:01:46,710 --> 00:01:48,520 And then it might have a review 23 00:01:48,540 --> 00:01:49,720 right? 24 00:01:50,010 --> 00:01:54,120 Best rubber ever. 25 00:01:54,150 --> 00:02:01,720 OK so this would be a single document and because we're embedding it inside this particular product 26 00:02:02,050 --> 00:02:05,710 then we can associate the relationship in this way. 27 00:02:05,710 --> 00:02:11,560 And it's very very natural because it means that if we had another review come in for this rubber product 28 00:02:11,890 --> 00:02:17,580 then we can simply append it into that array and we simply have some different data for it. 29 00:02:19,000 --> 00:02:27,380 And now we've established a relationship between a single product document and a single review document. 30 00:02:27,380 --> 00:02:35,600 Now this style of embedding documents in each other is really well-suited to this kind of one to many 31 00:02:35,690 --> 00:02:43,610 kind of relationship because one product might have many reviews or one user might have created many 32 00:02:43,640 --> 00:02:51,640 comments. And this is a very natural way of expressing that relationship using MongoDB. 33 00:02:51,800 --> 00:02:56,600 I'm going to copy and paste this into my Mongo shell. 34 00:02:56,600 --> 00:03:01,010 Now the reason why I'm doing it inside Atom is just because it is much easier to format it for you to 35 00:03:01,010 --> 00:03:03,980 see what's going on and inside the shell 36 00:03:04,010 --> 00:03:07,700 it's much harder to hit enter without executing your statement. 37 00:03:07,880 --> 00:03:11,970 So let's hit paste and hit enter. 38 00:03:12,130 --> 00:03:20,090 And now I've inserted one document into my database and if I look through all of my products I now have 39 00:03:20,210 --> 00:03:26,330 a product with id 1 and a product with id 3. As a challenge 40 00:03:26,360 --> 00:03:30,470 I want you to practice embedding documents inside other documents. 41 00:03:30,680 --> 00:03:38,090 I want you to recreate that pencil document that we deleted earlier on and to add in some reviews for 42 00:03:38,090 --> 00:03:39,650 that document as well. 43 00:03:39,650 --> 00:03:46,760 The challenge is to follow the format that we created the last document and you're going to add two 44 00:03:46,760 --> 00:03:51,260 reviews to this pensil product which looks something like this 45 00:03:51,380 --> 00:03:57,920 but you're going to make up two reviews for the pencil and that each going to have a author name, a rating 46 00:03:58,010 --> 00:03:59,450 and also a review. 47 00:03:59,630 --> 00:04:01,860 Pause the video now and give that a go. 48 00:04:04,430 --> 00:04:04,820 OK. 49 00:04:04,840 --> 00:04:11,580 So I recommend writing this out inside a blank document in Atom just because it makes it so much easier 50 00:04:11,580 --> 00:04:13,310 to write multi-line code. 51 00:04:13,530 --> 00:04:18,550 So we're going to use db.products to tap into our products collection and then we're going to say insert 52 00:04:18,600 --> 00:04:33,870 One and the product that we're going to insert is going to have a id of 2, name of pencil, price of 80 53 00:04:33,870 --> 00:04:37,680 cents, stock of 12 54 00:04:37,910 --> 00:04:45,200 and finally it's going to have that review field which is going to be an array of imbedded documents. 55 00:04:46,810 --> 00:04:50,810 Each embedded document will be enclosed in a set of curly braces 56 00:04:51,070 --> 00:04:53,970 and we're just going to make up some reviews right? 57 00:04:57,240 --> 00:05:03,990 So now we can check that we don't have any errors in our code and we can copy the entire thing over 58 00:05:04,020 --> 00:05:07,710 to our Mongo shell hit paste and hit enter. 59 00:05:07,740 --> 00:05:15,580 And now we've inserted our second document. And now you can see we've got a pen, our pencil and our rubber 60 00:05:15,970 --> 00:05:19,300 in our products collection. 61 00:05:19,770 --> 00:05:28,490 Now another format you might see out there in the wild is you might say have two product documents, one 62 00:05:28,500 --> 00:05:35,370 which is the pen and the other which is the pencil and they each have a unique identifying id which 63 00:05:35,370 --> 00:05:37,840 is simply 1 and 2. 64 00:05:38,010 --> 00:05:43,200 And then you could create another collection say a collection of orders this time. 65 00:05:43,200 --> 00:05:49,080 And for each document in that collection you might have a order number but you might also have a field 66 00:05:49,080 --> 00:05:57,480 that's products ordered and this can simply be an array that references the id of the products in the 67 00:05:57,480 --> 00:05:59,060 products collection. 68 00:05:59,100 --> 00:06:06,060 And so at a later date you can pull up the product ordered and you can find which products they are 69 00:06:06,120 --> 00:06:08,230 based off those IDs. 7184

Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.