0

Whats wrong with my code? I want to get both isActive:true and isActive: false in just 1 api

This is my controller course.js

const Course = require ("../models/Course")

    module.exports.getAllCourses = () => {
        return Course.find({isActive: true, :false}).then(resultsFromFindActive => resultsFromFindActive)
    }

This is my routes course.js

const express = require("express")
const router = express.Router()
const auth = require("../auth")
const CourseController = require("../controllers/course")

    router.get('/active', (req, res) => {
        CourseController.getAllCourses().then(resultsFromFindActive => res.send(resultsFromFindActive))
    })
FoxcyLoxcy
  • 81
  • 1
  • 9

2 Answers2

1

{isActive: true, :false} is not a valid JavaScript syntax

Use $or operator

Course.find({ $or: [{ isActive: true }, { isActive: false }] })

Or $exists operator

Course.find({ isActive: { $exists: true } })
laruiss
  • 3,780
  • 1
  • 18
  • 29
0

You can follow the answer here: How do you query for "is not null" in Mongo?

Course.find({ isActive: { $ne: null } })

In this case you'll query for non-null values in isActive