Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

93
Visualizações
mangosta empuja cada objeto dentro de una matriz

Estoy tratando de empujar cada objeto dentro de una matriz a una matriz MongoDB usando mangosta

Este es un ejemplo de cómo se ve la estructura de mi colección de listas de reproducción:

 playlist: { userName: 'user-name', userId: 'user-id', playlistArray: [ { playlistName: 'playlist1', playlistSongs: [ { title: '', duration: 0, uri: '' }, { title: '', duration: 0, uri: '' }, { title: '', duration: 0, uri: '' }, ], }, { playlistName: 'playlist2', playlistSongs: [ { title: '', duration: 0, uri: '' }, { title: '', duration: 0, uri: '' }, { title: '', duration: 0, uri: '' }, ], }, ], }

Quiero insertar la siguiente matriz de objetos en la matriz playlistSongs que también tiene playlistName: 'playlist2' dentro del mismo objeto

 [ { title: '1', duration: 123, uri: 'a' }, { title: '2', duration: 456, uri: 'b' }, { title: '3', duration: 789, uri: 'c' }, ]

Así que el resultado se vería así:

 playlist: { userName: 'user-name', userId: 'user-id', playlistArray: [ { playlistName: 'playlist1', playlistSongs: [ { title: '', duration: 0, uri: '' }, { title: '', duration: 0, uri: '' }, { title: '', duration: 0, uri: '' }, ], }, { playlistName: 'playlist2', playlistSongs: [ { title: '', duration: 0, uri: '' }, { title: '', duration: 0, uri: '' }, { title: '', duration: 0, uri: '' }, { title: '1', duration: 123, uri: 'a' }, { title: '2', duration: 456, uri: 'b' }, { title: '3', duration: 789, uri: 'c' }, ], }, ], }

Aquí está mi código tratando de actualizar el modelo:

 const newPlaylistSongs = [ { title: '1', duration: 123, uri: 'a' }, { title: '2', duration: 456, uri: 'b' }, { title: '3', duration: 789, uri: 'c' }, ]; await playlist .updateOne( {}, { $addToSet: { 'playlistArray.$[pl].playlistSongs': { $each: { newPlaylistSongs } }, }, }, { arrayFilters: [ { 'pl.playlistName':'playlist2', }, ], } ) .catch(console.error);

Pero he recibido este error:

 MongoServerError: The argument to $each in $addToSet must be an array but it was of type object
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Se espera$each con un valor de array .

 $each: []
 await playlist .updateOne( {}, { $addToSet: { 'playlistArray.$[pl].playlistSongs': { $each: newPlaylistSongs }, }, }, { arrayFilters: [ { 'pl.playlistName':'playlist2', }, ], } )

Ejemplo de parque infantil de Mongo

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda