Company logo
  • Jobs
  • Bootcamp
  • About Us
  • For professionals
    • Home
    • Jobs
    • Courses
    • Questions
    • Teachers
    • Bootcamp
  • For business
    • Home
    • Our process
    • Plans
    • Assessments
    • Payroll
    • Blog
    • Calculator

0

93
Views
Mongo query - fetch records not exactly matches with specified values in filter list

I tried around a bit, but I couldn't find the way to do this with same specific set of elements.

I have the following documents in db,

{
  sys_cd : ["A","B"]
},
{
  sys_cd : ["A", "S"]
},
{
  sys_cd : ["A","B","S"]
},
{
  sys_cd : ["A"]
},
{
  sys_cd : ["B","S"]
},
{
  sys_cd : ["S"]
}

I would like a query that returns only the following records, any doc that contains values other than A, B , A & B should return

{
  sys_cd : ["A", "S"]
},
{
  sys_cd : ["A","B","S"]
},
{
  sys_cd : ["B","S"]
},
{
  sys_cd : ["S"]
}
 

I tried with element match but it's not working.. is there a way to achieve this? Please help..

9 months ago · Santiago Trujillo
2 answers
Answer question

0

Try this:

let inputArray = ["A", "B"]; // or ["B", "A"]

db.myCollection.find({
    sys_cd: {
        $elemMatch: {
            $nin: inputArray
        }
    }
})
9 months ago · Santiago Trujillo Report

0

Try $nin operator, and add list of arrays,

db.collection.find({
  sys_cd: {
    $nin: [
      ["A"],
      ["B"],
      ["A", "B"]
    ]
  }
})

Playground

9 months ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post job Plans Our process Sales
Legal
Terms and conditions Privacy policy
© 2023 PeakU Inc. All Rights Reserved.