MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Spingere l'elemento in qualsiasi posizione dell'array nel documento secondario

È una proposta giusta nella tua domanda, tuttavia hai sostanzialmente il concetto sbagliato.

Il primo è che hai perso il concetto che gli array in generale hanno le loro voci che iniziano con un indice di 0 per il primo elemento, quindi il tuo "posizionamento" è fuori di un'unità in questo caso e avrebbe dovuto essere:

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

E poiché ora stai inserendo nella posizione corretta, i tuoi elementi sono nel posto corretto.