Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

223
Vistas
¿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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda