Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

178
Views
Find record in mongo $nin on array

I have a database (mongo) that stores posts and user separate. Within the posts schema I have an array. When a user marks a post as read, their user id is pushed into the array on the post schema. I'm then trying to display only the posts which their user id don't appear in the array.

Here is an example of my post structure.

{ "_id" : ObjectId("620eb60406b710c3ba2250f1"), "icon" : "fas fa-bullhorn", "title" : "Test Post", "scope" : true, "postedby" : "System", "postbody" : "Testing only content", "postcolour" : "orange", "posteddate" : "17/02/2022", "posthideuser" : [ "6205612355b2676a978b172b", "6203e917055a3558ffeb9fca" ] "__v" : 0 }

I tried using the following:

const posts = await Post.find({ posthideuser: { $nin: [user_id] } });

Which hasn't worked.

My Application is node, express/ejs. I will be happy to provide more information if required. Thanks in advance!

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Your query seems to work as expected:

 db.collection.find({
  posthideuser: {
    $nin: [
    "test2"
    ]
  }
})

playground

about 4 years ago · Juan Pablo Isaza Report

0

There was an issue with the structure as indicated.

await Post.findByIdAndUpdate(id, { $push: { posthideuser: [res.locals.user_id] } });

should be: await Post.findByIdAndUpdate(id, { $push: { posthideuser: res.locals.user_id } });

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!