MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Пушнете елемент във всяка позиция на масива в поддокумента

Това е справедливо предложение във вашия въпрос, но по същество имате грешна концепция.

Първото от които е, че сте пропуснали концепцията, че масивите като цяло имат своите записи, започващи с индекс от 0 за първия елемент, така че вашето "позициониране" е по-малко с една единица в този случай и трябваше да бъде:

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

И тъй като сега вмъквате на правилната позиция, вашите елементи са на правилното място.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да преброим появата на всяка стойност в масива?

  2. MongoDB $dateFromParts

  3. Време за изчакване на връзката към MongoDb на Azure VM

  4. Извличане на данни от mongoDB и показване в HTML

  5. MongoDB актуализира документ, когато вече съществува с ReactiveMongo