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

235
Views
Encontrar usuarios no vistos en mongodb

Actualmente tengo una colección de publicaciones. En cada publicación, cuando un usuario la marca como leída, inserta su _id de usuario en una matriz dentro del documento de la publicación.

Luego intento leer todas las publicaciones y encontrar qué usuarios no han leído el documento. Mi idea era probar esta función $nin mientras recorría las publicaciones y luego las almacenaba en un nuevo objeto al que podía llamar con el mismo número de índice. Sin embargo, estoy luchando por encontrar la sintaxis correcta para obtenerla debido a que el objeto ha estado en formato de cadena.

 const allPosts = await Post.find({}); for (let i = 0; i < allPosts.length; i++) { console.log(i) const findUsers = await User.find({ _id: { $nin: ObjectID([allPosts[i].posthideuser]) } }) console.log(findUsers); }
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Está convirtiendo toda la matriz en un ObjectID en lugar de convertir valores individuales. Use .map() con el constructor ObjectId

 const allPosts = await Post.find({}); for (let i = 0; i < allPosts.length; i++) { console.log(i) const objIds = allPosts[i].posthideuser.map((x) => new mongoose.Types.ObjectId(x)); const findUsers = await User.find({ _id: { $nin: objIds } }) console.log(findUsers); }
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!