MongoDB
7/23/2022
Common Query Patterns
This is a collection built up over time of queries I use and find helpful.
Document Arrays
Find any documents where key smartEvents
exist and has an array length that's greater than 0:
{smartEvents: { $exists: true, $not: { $size: 0 } } }
Find any subdocuments of governs
and an array key for groups
where groups
contains an ObjectID
of 622b8fe0968213000946ee1e
{"governs.groups":{ $in: [ObjectId('622b8fe0968213000946ee1e')]}}
$elemMatch
$elemMatch
is a useful operator for when you want to search an array of subdocuments where a field contains a value. In this example, responses
is an array with a document that has a field of content
:
{responses: {$elemMatch: {"content": {$regex:"Maybe tolerances could"}}}}
Also note $regex
in the query above. This operator lets you search for a regular expression (or a plain string) within a value. This is useful when you don't want to search the whole value of a property in a document.
MongoDB Compass
I use Compass pretty heavily for querying data in MongoDB.
This Article is Still in Progress
This post is a work in progress and not yet complete. If you're interested in reading the full article, let me know!
Want to Read It? Your interest helps me prioritize which articles to finish first. Click below to tell me you want to read this article when it's complete.