1
1
.. _databases-and-collections:
2
2
3
- =========================
4
- Databases and Collections
5
- =========================
3
+ ====================================
4
+ Databases and Collections in MongoDB
5
+ ====================================
6
6
7
7
.. default-domain:: mongodb
8
8
@@ -22,8 +22,8 @@ Databases and Collections
22
22
:values: reference
23
23
24
24
.. meta::
25
- :description: Overview of what databases and collections (tables) are in MongoDB.
26
- :keywords: atlas
25
+ :description: Learn how databases and collections work within MongoDB
26
+ :keywords: atlas, compass, MongoDB
27
27
28
28
.. contents:: On this page
29
29
:local:
@@ -33,48 +33,154 @@ Databases and Collections
33
33
34
34
Overview
35
35
--------
36
+
36
37
MongoDB stores data records as :term:`documents <document>`
37
38
(specifically :ref:`BSON documents <bson-document-format>`) which are
38
39
gathered together in :term:`collections <collection>`. A
39
40
:term:`database <database>` stores one or more collections of documents.
40
41
41
- .. |page-topic| replace:: manage MongoDB :atlas:`databases </atlas-ui/databases>` and :atlas:`collections </atlas-ui/collections>` in the UI
42
+ You can manage :atlas:`databases </atlas-ui/databases>` and
43
+ :atlas:`collections </atlas-ui/collections>` on the Atlas cluster from
44
+ the Atlas UI, :binary:`~bin.mongosh`, or |compass|. This page describes
45
+ how to manage databases and collections on the Atlas cluster from the
46
+ Atlas UI. For self-managed deployments, you can use
47
+ :binary:`~bin.mongosh` or |compass| to manage databases and collections.
48
+
49
+ Select the client that you want to use to manage databases and
50
+ collections.
51
+
52
+ .. tabs::
53
+
54
+ .. tab:: Atlas UI
55
+ :tabid: atlas
56
+
57
+ MongoDB Atlas is a multi-cloud database service that simplifies
58
+ deploying and managing your databases on the cloud providers of
59
+ your choice.
60
+
61
+ .. tab:: mongosh
62
+ :tabid: mongosh
42
63
43
- .. cta-banner::
44
- :url: https://www.mongodb.com/docs/atlas/atlas-ui/databases/
45
- :icon: Cloud
64
+ The MongoDB Shell, :program:`mongosh`, is a JavaScript and Node.js
65
+ :abbr:`REPL (Read Eval Print Loop)` environment for interacting
66
+ with MongoDB deployments. To learn more, see :mongosh:`mongosh
67
+ </>`.
46
68
47
- .. include:: /includes/fact-atlas-compatible.rst
69
+ .. tab:: MongoDB Compass
70
+ :tabid: compass
48
71
72
+ MongoDB Compass is a powerful GUI for querying, aggregating, and
73
+ analyzing your MongoDB data in a visual environment. To learn
74
+ more, see :compass:`MongoDB Compass </>`.
49
75
50
76
Databases
51
77
---------
52
- In MongoDB, databases hold one or more collections of documents. To
53
- select a database to use, in :binary:`~bin.mongosh`, issue the
54
- ``use <db>`` statement, as in the following example:
55
78
56
- .. code-block:: javascript
79
+ In MongoDB, databases hold one or more collections of documents.
80
+
81
+ .. tabs::
82
+ :hidden:
83
+
84
+ .. tab:: Atlas UI
85
+ :tabid: atlas
86
+
87
+ To select a database to use, log in to Atlas and do the following:
88
+
89
+ .. procedure::
90
+ :style: normal
57
91
58
- use myDB
92
+ .. step:: Navigate to the :guilabel:`Collections` tab.
59
93
94
+ .. step:: Select the database from the list of databases in the left pane.
95
+
96
+ .. tab:: mongosh
97
+ :tabid: mongosh
98
+
99
+ To select a database to use, in :binary:`~bin.mongosh`, issue the
100
+ ``use <db>`` statement, as in the following example:
101
+
102
+ .. code-block:: javascript
103
+
104
+ use myDB
105
+
106
+ .. tab:: MongoDB Compass
107
+ :tabid: compass
108
+
109
+ To select a database to use, complete the following steps:
110
+
111
+ .. procedure::
112
+ :style: normal
113
+
114
+ .. step:: Start |compass| and connect to your cluster.
115
+
116
+ To learn more, see :compass:`Connect to MongoDB
117
+ </connect/>`.
118
+
119
+ .. step:: Select :guilabel:`Databases` from the left navigation.
120
+
121
+ The :guilabel:`Databases` tab opens to list the existing databases
122
+ for your MongoDB deployment.
123
+
60
124
Create a Database
61
125
~~~~~~~~~~~~~~~~~
62
126
63
- If a database does not exist, MongoDB creates the database when you
64
- first store data for that database. As such, you can switch to a
65
- non-existent database and perform the following operation in
66
- :binary:`~bin.mongosh`:
127
+ .. tabs::
128
+ :hidden:
67
129
68
- .. code-block:: javascript
130
+ .. tab:: Atlas UI
131
+ :tabid: atlas
69
132
70
- use myNewDB
133
+ To create a new database, log in to Atlas and do the following:
71
134
72
- db.myNewCollection1.insertOne( { x: 1 } )
135
+ .. procedure::
136
+ :style: normal
73
137
74
- The :method:`~db.collection.insertOne()` operation creates both the
75
- database ``myNewDB`` and the collection ``myNewCollection1`` if they do
76
- not already exist. Be sure that both the database and collection names
77
- follow MongoDB :ref:`restrictions-on-db-names`.
138
+ .. step:: Navigate to the :guilabel:`Collections` tab.
139
+
140
+ .. step:: Click :guilabel:`Create Database`.
141
+
142
+ .. step:: Enter the :guilabel:`Database Name` and the :guilabel:`Collection Name`.
143
+
144
+ Enter the database and the collection name to create the
145
+ database and its first collection.
146
+
147
+ .. step:: Click :guilabel:`Create`.
148
+
149
+ Upon successful creation, the database and the collection
150
+ displays in the left pane in the Atlas UI.
151
+
152
+ .. tab:: mongosh
153
+ :tabid: mongosh
154
+
155
+ If a database does not exist, MongoDB creates the database when you
156
+ first store data for that database. As such, you can switch to a
157
+ non-existent database and perform the following operation in
158
+ :binary:`~bin.mongosh`:
159
+
160
+ .. code-block:: javascript
161
+
162
+ use myNewDB
163
+
164
+ db.myNewCollection1.insertOne( { x: 1 } )
165
+
166
+ The :method:`~db.collection.insertOne()` operation creates both the
167
+ database ``myNewDB`` and the collection ``myNewCollection1`` if they do
168
+ not already exist. Be sure that both the database and collection names
169
+ follow MongoDB :ref:`restrictions-on-db-names`.
170
+
171
+ .. tab:: MongoDB Compass
172
+ :tabid: compass
173
+
174
+ .. procedure::
175
+ :style: normal
176
+
177
+ .. step:: Open the :guilabel:`Databases` tab.
178
+
179
+ .. step:: Click the :guilabel:`Create database` button.
180
+
181
+ .. step:: Enter database and first collection names in the :guilabel:`Create Database` dialog.
182
+
183
+ .. step:: Click :guilabel:`Create Database` to create the database and its first collection.
78
184
79
185
.. _collections:
80
186
@@ -92,27 +198,136 @@ Create a Collection
92
198
If a collection does not exist, MongoDB creates the collection when you
93
199
first store data for that collection.
94
200
95
- .. code-block:: javascript
201
+ .. tabs::
202
+ :hidden:
203
+
204
+ .. tab:: Atlas
205
+ :tabid: atlas
206
+
207
+ To create a new collection, log in to Atlas and do the following:
208
+
209
+ .. procedure::
210
+ :style: normal
96
211
97
- db.myNewCollection2.insertOne( { x: 1 } )
98
- db.myNewCollection3.createIndex( { y: 1 } )
212
+ .. step:: Navigate to the :guilabel:`Collections` tab.
99
213
100
- Both the :method:`~db.collection.insertOne()` and the
101
- :method:`~db.collection.createIndex()` operations create their
102
- respective collection if they do not already exist. Be sure that the
103
- collection name follows MongoDB :ref:`restrictions-on-db-names`.
214
+ .. step:: Click the :guilabel:`+` icon for the database.
215
+
216
+ .. step:: Enter the name of the collection.
217
+
218
+ .. step:: Click :guilabel:`Create`.
219
+
220
+ Upon successful creation, the collection displays underneath
221
+ the database in the Atlas UI.
222
+
223
+ .. tab:: mongosh
224
+ :tabid: mongosh
225
+
226
+ .. code-block:: javascript
227
+
228
+ db.myNewCollection2.insertOne( { x: 1 } )
229
+ db.myNewCollection3.createIndex( { y: 1 } )
230
+
231
+ Both the :method:`~db.collection.insertOne()` and the
232
+ :method:`~db.collection.createIndex()` operations create their
233
+ respective collection if they do not already exist. Be sure that the
234
+ collection name follows MongoDB :ref:`restrictions-on-db-names`.
235
+
236
+ .. tab:: MongoDB Compass
237
+ :tabid: compass
238
+
239
+ .. procedure::
240
+ :style: normal
241
+
242
+ .. step:: Click the name of the database where you to want to create a collection in the left navigation.
243
+
244
+ .. step:: Click the :guilabel:`+` icon next to the database name.
245
+
246
+ .. step:: Enter the name of the collection in the :guilabel:`Create Collection` dialog.
247
+
248
+ .. step:: Click :guilabel:`Create Collection` to create the collection.
104
249
105
250
Explicit Creation
106
251
~~~~~~~~~~~~~~~~~
107
252
108
- MongoDB provides the :method:`db.createCollection()` method to
109
- explicitly create a collection with various options, such as setting
110
- the maximum size or the documentation validation rules. If you are not
111
- specifying these options, you do not need to explicitly create the
112
- collection since MongoDB creates new collections when you first store
113
- data for the collections.
253
+ .. tabs::
254
+ :hidden:
255
+
256
+ .. tab:: Atlas
257
+ :tabid: atlas
258
+
259
+ To create a new collection, log in to Atlas and do the following:
260
+
261
+ .. procedure::
262
+ :style: normal
263
+
264
+ .. step:: Navigate to the :guilabel:`Collections` tab.
265
+
266
+ .. step:: Click the :guilabel:`+` icon for the database.
267
+
268
+ .. step:: Enter the name of the collection.
269
+
270
+ .. step:: Optional. From the :guilabel:`Additional Preferences` dropdown, select the type of collection that you want to create.
271
+
272
+ You can create one of the following types of collections:
273
+
274
+ - :ref:`Capped collection <manual-capped-collection>`
114
275
115
- To modify these collection options, see :dbcommand:`collMod`.
276
+ If you select to create a capped collection, specify the
277
+ maximum size in bytes.
278
+
279
+ - :ref:`Time Series Collection <manual-timeseries-landing>`
280
+
281
+ If you select to create a time series collection, specify
282
+ the time field and granularity. You can optionally specify
283
+ the meta field and the time for old data in the collection
284
+ to expire.
285
+
286
+ - :ref:`Clustered Index Collection <clustered-collections>`
287
+
288
+ If you select to create a clustered collection, you must
289
+ specify clustered index key value and a name for the
290
+ clustered index.
291
+
292
+ .. step:: Click :guilabel:`Create`.
293
+
294
+ Upon successful creation, the collection displays underneath
295
+ the database in the Atlas UI.
296
+
297
+ .. tab:: mongosh
298
+ :tabid: mongosh
299
+
300
+ MongoDB provides the :method:`db.createCollection()` method to
301
+ explicitly create a collection with various options, such as setting
302
+ the maximum size or the documentation validation rules. If you are not
303
+ specifying these options, you do not need to explicitly create the
304
+ collection since MongoDB creates new collections when you first store
305
+ data for the collections.
306
+
307
+ To modify these collection options, see :dbcommand:`collMod`.
308
+
309
+ .. tab:: MongoDB Compass
310
+ :tabid: compass
311
+
312
+ .. procedure::
313
+ :style: normal
314
+
315
+ .. step:: Click the name of the database where you to want to create a collection in the left navigation.
316
+
317
+ .. step:: Click the :guilabel:`Create collection` button.
318
+
319
+ .. step:: Enter the name of the collection and optionally, configure additional preferences.
320
+
321
+ .. step:: Click :guilabel:`Create Collection` to create the collection.
322
+
323
+ |compass| provides the following additional preferences that
324
+ you can configure for your collection:
325
+
326
+ - :compass:`Create a Capped Collection</collections/capped-collection/>`
327
+ - :compass:`Create a Clustered Collection</collections/clustered-collection/>`
328
+ - :compass:`Create a Collection with Collation </collections/collation-collection/>`
329
+ - :compass:`Create a Collection with Encrypted Field </collections/encrypted-collection/>`
330
+ - :compass:`Create a Time Series Collection </collections/time-series-collection/>`
116
331
117
332
Document Validation
118
333
~~~~~~~~~~~~~~~~~~~
@@ -151,9 +366,21 @@ identifier)`. The
151
366
collection UUID remains the same across all members of a replica set
152
367
and shards in a sharded cluster.
153
368
154
- To retrieve the UUID for a collection, run either the
155
- :manual:`listCollections </reference/command/listCollections>` command
156
- or the :method:`db.getCollectionInfos()` method.
369
+ .. tabs::
370
+ :hidden:
371
+
372
+ .. tab:: Atlas
373
+ :tabid: atlas
374
+
375
+ .. tab:: mongosh
376
+ :tabid: mongosh
377
+
378
+ To retrieve the UUID for a collection, run either the
379
+ :manual:`listCollections </reference/command/listCollections>` command
380
+ or the :method:`db.getCollectionInfos()` method.
381
+
382
+ .. tab:: MongoDB Compass
383
+ :tabid: compass
157
384
158
385
.. toctree::
159
386
:titlesonly:
0 commit comments