Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated:
1
00:00:01,130 --> 00:00:03,660
So no matter if you installed MongoDB
2
00:00:03,660 --> 00:00:07,080
on Windows or on Mac OS, we will now create
3
00:00:07,080 --> 00:00:10,570
our first local database, using the Mongo Shell.
4
00:00:10,570 --> 00:00:13,780
So this terminal application which is the Mongo Shell
5
00:00:13,780 --> 00:00:16,900
works exactly the same on Windows and Mac,
6
00:00:16,900 --> 00:00:19,390
so from now on it doesn't matter anymore which
7
00:00:19,390 --> 00:00:20,633
platform you're using.
8
00:00:21,860 --> 00:00:24,810
So here in this terminal tab I still have
9
00:00:24,810 --> 00:00:27,730
my Mongo server basically running in the background
10
00:00:27,730 --> 00:00:31,600
on this port, and so let's go ahead and open up
11
00:00:31,600 --> 00:00:33,260
the Mongo Shell.
12
00:00:33,260 --> 00:00:36,060
So remember, that is just typing Mongo here
13
00:00:36,060 --> 00:00:38,660
in the command line and that will then open up
14
00:00:38,660 --> 00:00:42,580
the Mongo Shell, then Command K to clear the terminal,
15
00:00:42,580 --> 00:00:46,370
and so now let's actually create our first database.
16
00:00:46,370 --> 00:00:49,320
And we do that by using "use".
17
00:00:49,320 --> 00:00:53,060
So we use the "use" command inside the Mongo Shell,
18
00:00:53,060 --> 00:00:56,290
and then the name of the database that we want to create.
19
00:00:56,290 --> 00:00:58,760
Now this command here is also used to switch to
20
00:00:58,760 --> 00:01:01,830
a already existing database, but if we try
21
00:01:01,830 --> 00:01:04,569
to basically switch to a database that doesn't
22
00:01:04,569 --> 00:01:07,580
yet exist, it will then create a new one.
23
00:01:07,580 --> 00:01:08,650
So let's say, "use
24
00:01:10,080 --> 00:01:11,550
natours-
25
00:01:11,550 --> 00:01:12,840
test",
26
00:01:12,840 --> 00:01:13,673
okay.
27
00:01:13,673 --> 00:01:17,750
And so it created that database, and it also switched to it.
28
00:01:17,750 --> 00:01:20,380
Okay, and now this blank database
29
00:01:20,380 --> 00:01:22,830
is ready to receive some data.
30
00:01:22,830 --> 00:01:26,350
Now remember that inside a database we have collections,
31
00:01:26,350 --> 00:01:29,180
and then each collection has documents in it.
32
00:01:29,180 --> 00:01:31,430
And the data that we create in the Mongo Shell
33
00:01:31,430 --> 00:01:33,000
is always documents.
34
00:01:33,000 --> 00:01:35,710
And so of course we have to create the document
35
00:01:35,710 --> 00:01:38,730
inside of a collection, and so we specify that
36
00:01:38,730 --> 00:01:41,767
collection before we insert a document.
37
00:01:41,767 --> 00:01:45,340
And this works like this, so db, which stands
38
00:01:45,340 --> 00:01:48,160
for the current database, which is in this case
39
00:01:48,160 --> 00:01:51,450
natours-test, and then we specify the name of the collection
40
00:01:52,430 --> 00:01:54,560
which is tours, and then on that
41
00:01:54,560 --> 00:01:56,653
we use the insertMany function.
42
00:01:58,960 --> 00:02:02,948
So insertMany just like that, so just to recap here,
43
00:02:02,948 --> 00:02:06,760
Database is the currently used database that is
44
00:02:06,760 --> 00:02:09,449
right now active, and when we want to insert a
45
00:02:09,449 --> 00:02:12,470
document into it we need to specify the collection
46
00:02:12,470 --> 00:02:14,220
where that document is gonna live.
47
00:02:14,220 --> 00:02:16,610
And we do that by using dot, and then
48
00:02:16,610 --> 00:02:19,870
the name of the collection, which is in this case "tours".
49
00:02:19,870 --> 00:02:22,280
Now right now this collection hasn't been created,
50
00:02:22,280 --> 00:02:26,600
and so it will create it once we run this command, okay.
51
00:02:26,600 --> 00:02:29,830
And later on we will then have a collection for users,
52
00:02:29,830 --> 00:02:32,790
or for reviews, so basically for all the resources
53
00:02:32,790 --> 00:02:35,890
that we created in the last section, right.
54
00:02:35,890 --> 00:02:38,410
So, using tours here because that is one of our
55
00:02:38,410 --> 00:02:41,310
resources in our application, okay.
56
00:02:41,310 --> 00:02:43,740
But don't worry too much about that for now,
57
00:02:43,740 --> 00:02:46,920
we will talk about data modeling a bit later in the course.
58
00:02:46,920 --> 00:02:50,350
Okay, anyway, let's now actually insert a document
59
00:02:50,350 --> 00:02:52,210
into this database collection.
60
00:02:52,210 --> 00:02:53,860
And it's actually very simple.
61
00:02:53,860 --> 00:02:57,590
So, remember that MongoDb uses BSON,
62
00:02:57,590 --> 00:02:59,960
which is quite similar to JSON,
63
00:02:59,960 --> 00:03:02,990
so we can actually simply pass a JavaScript object
64
00:03:02,990 --> 00:03:05,540
into this insertMany function, and it will
65
00:03:05,540 --> 00:03:10,000
then convert it into JSON and BSON, okay.
66
00:03:10,000 --> 00:03:12,800
So a regular JavaScript object like this,
67
00:03:12,800 --> 00:03:14,730
and then just like before, let's define
68
00:03:14,730 --> 00:03:15,833
the name of the tour.
69
00:03:19,370 --> 00:03:21,950
And I'm calling it The Forest Hiker, which is
70
00:03:21,950 --> 00:03:25,330
one of the tours that we actually have in our JSON
71
00:03:25,330 --> 00:03:28,580
document at this point, so The Forest Hiker,
72
00:03:28,580 --> 00:03:30,450
let's set a price
73
00:03:30,450 --> 00:03:31,283
to
74
00:03:32,359 --> 00:03:33,192
297,
75
00:03:34,080 --> 00:03:38,550
and then also a rating, like an average rating,
76
00:03:38,550 --> 00:03:39,760
which can be 4.7
77
00:03:40,848 --> 00:03:41,681
okay.
78
00:03:41,681 --> 00:03:45,510
So this here looks like just a regular JavaScript object,
79
00:03:45,510 --> 00:03:48,640
now we could also use quotes on the property names,
80
00:03:48,640 --> 00:03:51,450
but that is actually optional, okay.
81
00:03:51,450 --> 00:03:52,943
Now here on these,
82
00:03:53,900 --> 00:03:56,100
and here we probably need the double quotes,
83
00:03:57,380 --> 00:04:01,430
okay so JSON does not recognize the single quotes,
84
00:04:01,430 --> 00:04:03,360
and so to be on the safe side
85
00:04:03,360 --> 00:04:05,720
let's just use the double quotes here, even though
86
00:04:05,720 --> 00:04:08,530
I usually like to use the single ones.
87
00:04:08,530 --> 00:04:11,460
And now just before we hit return, we actually need to
88
00:04:11,460 --> 00:04:14,275
also correct this function here, because it's not
89
00:04:14,275 --> 00:04:17,180
insertMany, because we're actually only inserting
90
00:04:17,180 --> 00:04:18,452
one document here,
91
00:04:19,390 --> 00:04:22,300
so it's called insertOne, okay.
92
00:04:22,300 --> 00:04:25,630
So we use insertMany to create multiple documents,
93
00:04:25,630 --> 00:04:28,930
and we use insertOne when we just wanna create one.
94
00:04:28,930 --> 00:04:32,090
Okay, so let's now hit return, and just like this
95
00:04:32,090 --> 00:04:35,650
we created our first document in our database.
96
00:04:35,650 --> 00:04:39,022
Okay, and now just to check that, let's use DB,
97
00:04:39,022 --> 00:04:42,430
which again is the current database, then .tours
98
00:04:44,367 --> 00:04:45,200
.find
99
00:04:47,050 --> 00:04:49,850
all right and here indeed is the document
100
00:04:49,850 --> 00:04:51,310
that we just created.
101
00:04:51,310 --> 00:04:54,120
And notice how it also automatically created
102
00:04:54,120 --> 00:04:57,500
this object ID here which is the unique identifier
103
00:04:57,500 --> 00:04:58,930
of this document.
104
00:04:58,930 --> 00:05:02,320
So remember how I said that MongoDB would automatically
105
00:05:02,320 --> 00:05:05,750
create these unique identifiers behind the scenes,
106
00:05:05,750 --> 00:05:08,400
and so that's exactly what you see here.
107
00:05:08,400 --> 00:05:11,100
And besides that, well, you see that this really
108
00:05:11,100 --> 00:05:13,970
is just a regular JSON object.
109
00:05:13,970 --> 00:05:17,290
And so this makes it great and really easy to work with
110
00:05:17,290 --> 00:05:20,050
JavaScript, and so as you can guess, this is going to
111
00:05:20,050 --> 00:05:24,500
make it really easy to work with MongoDB data in JavaScript.
112
00:05:24,500 --> 00:05:27,360
Because we're already using kind of the same format
113
00:05:27,360 --> 00:05:29,610
that we're already used to in JavaScript.
114
00:05:29,610 --> 00:05:32,300
And so that is one of the main reasons why MongoDB
115
00:05:32,300 --> 00:05:35,730
is so popular for Node JS applications.
116
00:05:35,730 --> 00:05:40,300
Okay, now another very useful command is show dbs,
117
00:05:40,300 --> 00:05:44,090
which will basically show us all the databases that we have
118
00:05:44,090 --> 00:05:48,540
in MongoDB, and so here you see our natours-test database.
119
00:05:48,540 --> 00:05:50,000
But we also have some other ones,
120
00:05:50,000 --> 00:05:52,570
which MongoDB automatically creates for us.
121
00:05:52,570 --> 00:05:56,070
And yours might not be the same as these three,
122
00:05:56,070 --> 00:05:58,810
but if not, don't worry, and just like before
123
00:05:58,810 --> 00:06:02,710
we could use the "use" command to switch to one of these.
124
00:06:02,710 --> 00:06:06,470
So let's say we now wanted to use admin, and so now
125
00:06:06,470 --> 00:06:09,280
we switched to DB admin, all right.
126
00:06:09,280 --> 00:06:12,800
So again, "use" is to switch to an existing database
127
00:06:12,800 --> 00:06:15,210
or to create a new one, if the name that
128
00:06:15,210 --> 00:06:17,293
we pass into it does not yet exist.
129
00:06:19,420 --> 00:06:22,667
So we want to go back to natours-test
130
00:06:22,667 --> 00:06:24,840
because now I want to show you
131
00:06:24,840 --> 00:06:27,370
just another quick command here,
132
00:06:27,370 --> 00:06:28,887
so "show collections".
133
00:06:30,400 --> 00:06:33,000
And so here you see the tours collection
134
00:06:33,000 --> 00:06:34,720
that we just created before.
135
00:06:34,720 --> 00:06:38,550
So remember how I said that back here when we created
136
00:06:38,550 --> 00:06:41,830
the document we also created the tours collection,
137
00:06:41,830 --> 00:06:44,790
because every document always has to be inside of
138
00:06:44,790 --> 00:06:45,760
a collection.
139
00:06:45,760 --> 00:06:48,630
Okay, so these are the very basic commands
140
00:06:48,630 --> 00:06:51,320
in the Mongo Shell, and over the next couple of lectures
141
00:06:51,320 --> 00:06:54,670
we will then create documents, query them, update them,
142
00:06:54,670 --> 00:06:55,970
and also delete them.
143
00:06:55,970 --> 00:06:58,243
So basically all the craft's operation.
144
00:06:59,460 --> 00:07:02,520
For now let me just show how we can actually quit
145
00:07:02,520 --> 00:07:03,800
the Mongo Shell.
146
00:07:03,800 --> 00:07:06,740
So, very easy, you just type quit like this
147
00:07:06,740 --> 00:07:08,660
and it will then exit it.
148
00:07:08,660 --> 00:07:11,630
Just to quickly show you that our database was
149
00:07:11,630 --> 00:07:16,020
actually persisted, let's simply run the Shell again,
150
00:07:16,020 --> 00:07:19,890
then clear it quickly again, "show dbs",
151
00:07:19,890 --> 00:07:22,430
and you see that natours is still here,
152
00:07:22,430 --> 00:07:23,813
and we can also use it.
153
00:07:27,820 --> 00:07:30,980
Okay, so everything is still there, meaning
154
00:07:30,980 --> 00:07:34,313
that we're now ready to move on to the next video.
12298
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.