$unionWith – MongoDB’s Equivalent of UNION ALL

If you’re familiar with SQL, you might know about the UNION clause, which concatenates the results of two queries into a single result set. In particular, UNION ALL includes duplicates.

In MongoDB, we can use the $unionWith aggregation pipeline stage to achieve the same effect that UNION ALL produces. The $unionWith stage performs a union of two collections – it combines pipeline results from two collections into a single result set. And it includes duplicates.

Continue reading

MongoDB dropIndexes()

In MongoDB, the dropIndexes() method allows you to drop one or more indexes from a collection.

To drop a single index, pass the name of the index or its definition/specification document. If it’s a text index, you can only specify the index name.

To drop multiple indexes, pass the index names in an array.

To drop all indexes (except for the _id index), don’t pass any arguments.

Continue reading

How hideIndex() Works in MongoDB

MongoDB introduced the db.collection.hideIndex() method in MongoDB 4.4.

This method hides an existing index from the query planner. This allows you to evaluate the potential impact of dropping an index without actually dropping the index.

If hiding it has a negative impact, you can use db.collection.unhideIndex() to unhide the index. This saves you from having to drop the index, then recreate it.

Continue reading

The Import Modes of mongoimport

When using mongoimport to import files into MongoDB, you have the option of specifying a mode to use. These modes determine what happens if there’s already matching documents in the collection that you’re trying to import into.

By default, mongoimport uses insert mode, but there are other modes you can use. The mode you use will depend on what you’re trying to do.

Below is an overview of each mode along with examples.

Continue reading