MongoDB
An overview of MongoDB from my perspective and experience.
1 minute read
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.