sql >> Database >  >> NoSQL >> MongoDB

Duw het element in een willekeurige positie van de array in het subdocument

Het is een redelijk voorstel in je vraag, maar je hebt het concept eigenlijk verkeerd.

De eerste is dat je het concept hebt gemist dat arrays in het algemeen hun vermeldingen hebben die beginnen met een index van 0 voor het eerste element, dus je "positionering" is één eenheid in dit geval en had moeten zijn:

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

En aangezien u nu op de juiste positie invoegt, staan ​​uw elementen op de juiste plaats.




  1. MongoDB om te helpen met aanbevelingen

  2. MongoDB $gt Aggregation Pipeline Operator

  3. zoals query in mongoDB

  4. Heeft de $in-clausule van MongoDB een maximale limiet voor het aantal argumenten?