An overview of MongoDB from my perspective and experience.
2022-07-25
This is a collection built up over time of queries I use and find helpful.
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
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.
I use Compass pretty heavily for querying data in MongoDB.
Hey, I'm Chase. I help aspiring entrepreneurs and makers turn their ideas into digital products and apps.
Subscribe to my Newsletter
Every other week I publish the Curiously Crafted newsletter.
In it, I explore the intersection of curiosity and craft: the people who make stuff, what they make and the way they pursue the craft of making.