KoderSolution Logo
HomeArticlesTutorialsForumAI LabRun Code
KoderSolution Logo

The world’s most advanced technical ecosystem for modern software engineers. Learn, build, and grow with next-generation developer tools and resources.

Engineering Newsletter

Join 100,000+ engineers receiving curated high-signal content weekly.

Platforms

  • Technical Articles
  • Interactive Tutorials
  • AI Coding Lab
  • Developer Forum
  • Developer Tools

Pages

  • About Us
  • Contact Us
  • Privacy Policy
  • Terms of Service
  • Refund Policy
  • Disclaimer
  • Advertisement

Popular Topics

  • PHP
  • Laravel
  • Python
  • React.Js
  • MySQL
© 2026 KoderSolutionAll Rights Reserved
Developed Bymaksudur.dev
🟢

Node.js

Topic Hub & Articles

Node.js Intro

10 min

Recap Quiz

5 Questions

Node.js Get Started

10 min

Node.js Modules

10 min

Node.js HTTP Module

10 min

Recap Quiz

5 Questions

Node.js File System

10 min

Node.js URL Module

10 min

Node.js NPM

10 min

Recap Quiz

5 Questions

Node.js Events

10 min

Node.js Upload Files

10 min

Node.js Email

10 min

Recap Quiz

5 Questions

Node.js Buffer

10 min

Node.js Streams

10 min

Node.js Crypto

10 min

Recap Quiz

5 Questions

Node.js OS Module

10 min

Node.js Path Module

10 min

Node.js Global Objects

10 min

Recap Quiz

5 Questions

Node.js Process

10 min

Node.js Child Processes

10 min

Node.js Worker Threads

10 min

Recap Quiz

5 Questions

Node.js DNS Module

10 min

Node.js Query String

10 min

MySQL Connect

10 min

Recap Quiz

5 Questions

MySQL Create Database

10 min

MySQL Order By

10 min

Recap Quiz

5 Questions

MongoDB Intro

10 min

Recap Quiz

5 Questions

MongoDB Create Database

10 min

MongoDB Create Collection

10 min

MongoDB Insert

10 min

Recap Quiz

5 Questions

MongoDB Find

10 min

MongoDB Query

10 min

MongoDB Sort

10 min

Recap Quiz

5 Questions

MongoDB Delete

10 min

MongoDB Update

10 min

MongoDB Limit

10 min

MongoDB Join

10 min

Progress
0%

0 / 35 Lessons

Node.jsNode.js MongoDB
Lesson

MongoDB Query

10 min reading
Free Course

MongoDB Query: Query Operators ($gt, $in, $regex, $and) in Node.js

MongoDB supports rich expressive query operators allowing complex filter conditions, range comparisons, array lookups, and regular expression pattern matches.

Common MongoDB Query Operators

flowchart TD
    A["Query Filter Object"] --> B["Comparison ($gt, $gte, $lt, $lte, $ne, $in)"]
    A --> C["Logical ($and, $or, $nor, $not)"]
    A --> D["Element ($exists, $type)"]
    A --> E["Regex ($regex, $options)"]

Practical Code Example

import { MongoClient } from 'mongodb';

const uri = 'mongodb://127.0.0.1:27017';
const client = new MongoClient(uri);

async function executeAdvancedQueries() {
    try {
        await client.connect();
        const db = client.db('kodersolution_no_sql');
        const products = db.collection('products');

        // 1. Comparison & Range Query ($gte, $lte)
        const priceRangeQuery = {
            price: { $gte: 50, $lte: 200 }
        };
        const midRangeProducts = await products.find(priceRangeQuery).toArray();
        console.log('Products between $50 and $200:', midRangeProducts.length);

        // 2. Set Membership Query ($in)
        const categoryQuery = {
            category: { $in: ['Electronics', 'Hardware'] }
        };
        const categoryMatches = await products.find(categoryQuery).toArray();
        console.log('Category Matches ($in):', categoryMatches.length);

        // 3. Complex Logical & Regex Query ($and + $regex)
        const complexQuery = {
            $and: [
                { title: { $regex: 'mouse|keyboard', $options: 'i' } },
                { price: { $lt: 150 } }
            ]
        };
        const complexMatches = await products.find(complexQuery).toArray();
        console.log('Regex + Price Filter Matches:', complexMatches);
    } catch (err) {
        console.error('MongoDB Query Operator Error:', err.message);
    } finally {
        await client.close();
    }
}

executeAdvancedQueries();

Best Practices & Gotchas

  • Index Queried Fields: Ensure fields used in comparison and regex filters (especially prefix regex like /^search/) have collection indexes built.
  • Avoid Unanchored Regex: Unanchored regex filters (e.g. /$search/i) cannot use indexes and require full collection scans.
  • Use $in instead of Multiple $or: Prefer { field: { $in: [val1, val2] } } over { $or: [{ field: val1 }, { field: val2 }] } for better query optimization.

Self-Check Challenge

Which MongoDB query operator checks if a field value matches any element within a specified array?

Save Your Progress

Unlock Your
Full Potential.

Sign in to track your learning journey, earn industry-recognized certificates, and join our elite developer community.

Quick Access With

Enterprise-Grade Security Protocol

Recommended Courses & Books

Stuck on this lesson?

Join our community of senior developers.

Ask in Forum