sql >> Base de Datos >  >> NoSQL >> MongoDB

Empuje el elemento en cualquier posición de la matriz en el subdocumento

Es una proposición justa en su pregunta, sin embargo, básicamente tiene el concepto equivocado.

La primera es que te has perdido el concepto de que las matrices en general tienen sus entradas comenzando en un índice de 0 para el primer elemento, por lo que su "posicionamiento" está fuera de una unidad en este caso y debería haber sido:

db.collection.update(
   { _id: tsId },
   {$push: { 'subdoc.array': { "$each":["3", "4"], "$position": 3 } }}
)

Y dado que ahora está insertando en la posición correcta, sus elementos están en el lugar correcto.