MongoDB: Data Types
Introduction
MongoDB stores documents on disk in the BSON serialization format. BSON is a binary representation of JSON documents, though BSON data format provides more data types than JSON. The mongo JavaScript shell and the MongoDB language drivers translate between BSON and the language-specific document representation.
BSON supports the following data types as values in documents. Each data type has a corresponding number (an integer ID number from 1 to 255) that can be used with the $type operator to query documents by BSON type.
MongoDB Data Types and Corresponding ID Number
Type | Description | Number |
---|---|---|
Double | Represents a float value. | 1 |
String | BSON strings are UTF-8. In general, drivers for each programming language convert from the language’s string format to UTF-8 when serializing and deserializing BSON. This makes it possible to store most international characters in BSON strings with ease. [1] In addition, MongoDB $regex queries support UTF-8 in the regex string. | 2 |
Object | Represents an embedded documents. | 3 |
Array | Sets or lists of values can be represented as arrays: | 4 |
Binary data | Binary data is a string of arbitrary bytes, it cannot be manipulated from the shell. | 5 |
Object id | ObjectIds (MongoDB document identifier, equivalent to a Primary key) are: small, likely unique, fast to generate, and ordered. These values consists of 12-bytes, where the first four bytes are a timestamp that reflect the ObjectId’s creation. | 7 |
Boolean | A logical true or false. Use to evaluate whether a condition is true or false | 8 |
Date | BSON Date is a 64-bit integer that represents the number of milliseconds since the Unix epoch (Jan 1, 1970). This results in a representable date range of about 290 million years into the past and future. | 9 |
Null | It represents both a null value and a nonexistent field. | 10 |
Regular Expression | RegExp maps directly to a Javascript RegExp | 11 |
JavaScript | 13 | |
Symbol | Not supported by the shell. If the shell gets a symbol from the database, it will convert it into a string. | 14 |
JavaScript (with scope) | 15 | |
32-bit integer | Numbers without decimal points will be saved as 32-bit integers. | 16 |
Timestamp | BSON has a special timestamp type for internal MongoDB use and is not associated with the regular Date type. Timestamp values are a 64 bit value where :
|
17 |
64-bit integer | Numbers without a decimal point will be saved and returned as 64-bit integers. | 18 |
Min key | MinKey compare less than all other possible BSON element values, respectively, and exist primarily for internal use. | 255 |
Max key | MaxKey compare greater than all other possible BSON element values, respectively, and exist primarily for internal use. | 127 |
Comparing values of different BSON types
When comparing values of different BSON types, MongoDB uses the following comparison order, from lowest to highest:
Order | Data Types |
---|---|
1 | MinKey (internal type) |
2 | Null |
3 | Numbers (ints, longs, doubles) |
4 | Symbol, String |
5 | Object |
6 | Array |
7 | BinData |
8 | ObjectId |
9 | Boolean |
10 | Date, Timestamp |
11 | Regular Expression |
12 | MaxKey (internal type) |
Previous:
Introduction to mongo Shell
Next:
Databases, Documents, Collections
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://www.w3resource.com/mongodb/mongodb-data-types.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics