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

232
Views
¿Cómo puedo enviar solo valores únicos a una matriz en mongoDB?

Tengo una mesa similar. y en esa tabla similar tengo una matriz llamada videoLikes. Necesito almacenar los datos de usuario a los que les gustó el video. entonces, cuando intento insertar un objeto con el campo de ID de usuario en esa matriz, obtuve datos duplicados. mi ID de usuario es único en el modelo, por lo que necesito presionar solo a un usuario una vez en esa matriz. Probé la operación $addToSet pero no funciona correctamente.

Mi caso de uso es cuando un usuario intentó que le gustara el video por segunda vez, no lo empujará a esa matriz.

 { "videoId": 275, "likesCount": 4, "videoLikes": [ { "userId": 149, "uid": "5B8slS9AqpeNMJWK5CgbwzdXhQ82", "_id": { "$oid": "625569ecd56d19a1954f5cc2" } }, { "userId": 149, "uid": "5B8slS9AqpeNMJWK5CgbwzdXhQ82", "_id": { "$oid": "625569ecd56d19a1954f5cc4" } }, { "userId": 149, "uid": "5B8slS9AqpeNMJWK5CgbwzdXhQ82", "_id": { "$oid": "625569ecd56d19a1954f5cc0" } }, { "userId": 149, "uid": "5B8slS9AqpeNMJWK5CgbwzdXhQ82", "_id": { "$oid": "625569ecd56d19a1954f5cbe" } } ] }
about 4 years ago · Santiago Gelvez
1 answers
Answer question

0

  • debe normalizar el esquema como cuando conoce el ID de usuario, conoce uid, de esta manera solo tiene que almacenar el ID de usuario en una matriz, que es un número entero y se puede manejar fácilmente para que sea único.
  • probablemente quiera aprender sobre pre y post en mongoose y disparadores en mongoDB.

Al usar disparadores, tendrá tiempo para verificar si el usuario le ha gustado o no y realizar una acción en su nombre. para verificar si a un ID de usuario le gustó o no, puede usar Object en lugar de un ejemplo de matriz:

 let schema=mongoose.Schema{ videoId:Number, likesCount:Number, videoLikes={{uid:Number}} }
about 4 years ago · Santiago Gelvez 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!