MongoDB Associate Developer Study Guide Flashcards

0.0(0)
Studied by 0 people
call kaiCall Kai
Locked
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/29

flashcard set

Earn XP

Description and Tags

Vocabulary flashcards covering core MongoDB concepts, BSON data types, CRUD operations, query operators, indexing, aggregation, data modeling, and driver usage.

Last updated 7:01 AM on 9/10/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai
Chat

No analytics yet

Send a link to your students to track their progress

30 Terms

1
New cards

BSON (Binary JSON)

A binary-encoded serialization format used by MongoDB to store documents, serving as a superset of JSON with more precise data types.

2
New cards

Double (BSON Type)

BSON's floating-point numerical data type; note that BSON refers to this type specifically as Double and not Float.

3
New cards

Decimal128

A BSON data type representing an exact decimal value, designated specifically for storing monetary values.

4
New cards

Date (BSON Type)

A BSON data type stored internally as milliseconds since the Unix epoch, represented in MQL as ISODate.

5
New cards

ObjectId

The default BSON type for the _id field, consisting of a 12-byte value that is roughly sortable by creation time.

6
New cards

MinKey / MaxKey

Special BSON types that compare lower or higher than all other BSON values, primarily utilized in database sharding.

7
New cards

Schema Flexibility

A MongoDB feature allowing individual documents within the same collection to contain different fields unless restricted by a $jsonSchema validator.

8
New cards

insertMany()

A CRUD insert method that takes an array of document objects to write into a collection, operating in ordered mode by default.

9
New cards

Ordered Insert

The default execution mode of insertMany(), where an error inserting a document halts processing for all remaining documents in the array unless { ordered: false } is set.

10
New cards

Full Document Replacement

The outcome of updating a document using replaceOne() or passing a bare document object without $ update operators, which completely replaces all fields except _id.

11
New cards

$set

A surgical update operator that modifies or adds only the specified fields or path names while preserving all untouched fields in the document.

12
New cards

$inc

An update operator used to increment or decrement a numeric field by a specified value.

13
New cards

$addToSet

An update operator that appends a value to an array field only if the specified value does not already exist in the array.

14
New cards

Upsert

An update option ({ upsert: true }) that updates a matching document, or creates a new document combining the filter's equality fields and the update fields if no match exists.

15
New cards

findOneAndUpdate()

An atomic find-and-modify operation that performs matching and updating in a single indivisible step, preventing concurrency issues like race conditions.

16
New cards

deleteOne() vs. deleteMany()

deleteOne() removes only the first document that satisfies the given filter, whereas deleteMany() removes all documents matching the filter.

17
New cards

$elemMatch

A query operator that evaluates array elements, requiring at least one single array element to satisfy all specified query conditions.

18
New cards

Implicit AND

Query evaluation where multiple field conditions specified within a single filter object are automatically combined with logical AND logic.

19
New cards

$or

A logical query operator that takes an array of expressions and matches documents satisfying at least one of those conditions.

20
New cards

Projection

A query parameter controlling field visibility in output documents, where mixing 1s (inclusion) and 0s (exclusion) in a single projection is invalid except when excluding _id.

21
New cards

countDocuments() vs. estimatedDocumentCount()

countDocuments() returns an exact count of documents matching a filter, whereas estimatedDocumentCount() provides a fast estimate based on collection metadata without supporting filters.

22
New cards

$search

An aggregation pipeline stage used for MongoDB Atlas Search full-text queries, which must be positioned as the pipeline's first stage and requires an Atlas Search Index.

23
New cards

$group

An aggregation pipeline stage that separates documents into groups according to a specified _id expression and computes aggregate accumulator values ($sum, $avg, $max, $min, $push) per group.

24
New cards

$lookup

An aggregation stage performing an equality left outer join between documents from an input collection and an unjoined collection, outputting matching documents as an array.

25
New cards

$out

An aggregation pipeline stage that writes pipeline output documents to a target collection, completely replacing any existing data in that destination collection.

26
New cards

COLLSCAN vs. IXSCAN

Execution plan stages in explain() output where COLLSCAN indicates a full collection scan and IXSCAN indicates an indexed scan.

27
New cards

Embed vs. Reference

Data modeling strategies where child data is placed inside the main document as sub-documents/arrays (Embed) or stored separately in a different collection linked via _id (Reference).

28
New cards

Unbounded Array Anti-Pattern

A database design anti-pattern where an array field grows indefinitely, risking exceeding MongoDB's 16MB document size limit and causing degraded performance.

29
New cards

mongodb+srv://

A connection URI protocol scheme that performs DNS SRV lookups to establish connections to MongoDB Atlas clusters.

<p>A connection URI protocol scheme that performs DNS SRV lookups to establish connections to MongoDB Atlas clusters.</p>
30
New cards

MQL vs. Aggregation Framework

MQL find() processes a single filter object to filter, project, sort, and limit documents, while aggregate() uses an array of stage objects to perform complex operations like grouping and joins.

<p>MQL find() processes a single filter object to filter, project, sort, and limit documents, while aggregate() uses an array of stage objects to perform complex operations like grouping and joins.</p>