sql >> Databáze >  >> NoSQL >> MongoDB

Push prvek na libovolné pozici pole ve vnořeném dokumentu

Je to férový návrh ve vaší otázce, ale v zásadě máte špatný koncept.

První z nich je, že vám unikl koncept, že pole obecně mají své položky začínající na indexu 0 pro první prvek, takže vaše "umístění" je mimo o jednu jednotku v tomto případě a mělo by to být:

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

A protože nyní vkládáte na správnou pozici, jsou vaše prvky na správném místě.




  1. Neočekávaný výstupní kód mongo 100. Restartování

  2. mongodb špatný výkon

  3. Problémy s hledáním/načítáním Meteor MongoDB

  4. Nakonfigurujte Mongo pomocí mongodb+srv