MongoDB provides the $ne operator to select documents where the field value is not equal to the specified value. It also includes documents that do not contain the field.

The following example demonstrates how you can use the $ne operator to find documents where the value of the role field is not null:

const mongoose = require('mongoose')
const { Schema } = mongoose

const User = mongoose.model(
  'User',
  new Schema({
    name: String,
    role: String
  })
)

const users = await User.find({ role: { $ne: null } })

There is another operator called $nin that selects the documents where the field value is not in the specified array or the field does not exist.

Here is how you can use $nin to find all users that are not admin and owner:

const users = await User.find({ role: { $nin: ['admin', 'owner'] } })

✌️ Like this article? Follow me on Twitter and LinkedIn. You can also subscribe to RSS Feed.