MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Pousser l'élément dans n'importe quelle position du tableau dans le sous-document

C'est une proposition juste dans votre question, mais vous avez fondamentalement un mauvais concept.

La première est que vous avez manqué le concept selon lequel les tableaux en général ont leurs entrées commençant à un index de 0 pour le premier élément, votre "positionnement" est donc inférieur d'une unité dans ce cas et aurait dû être :

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

Et puisque vous insérez maintenant à la bonne position, vos éléments sont au bon endroit.