sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB &Meteor - Frågan att trycka in i kapslad array fungerar inte, inget fel har uppstått

Ta bort positionsoperatorn ($ ) från query parametern för update funktion.

Meteor.users.update(
    { 
        _id:options.userId, 
        'buyer.boards.title':options.boardTitle 
    },
    { $push: { 
        'buyer.boards.$.idArr':options.newId }
    }
);

Från dokumenten:

db.collection.update(
   { <array>: value ... },
   { <update operator>: { "<array>.$" : value } }
)

Positionsoperatorn ska användas i update parameter och inte i query parameter. Detta uppdaterar endast de första boards objekt som har den matchande title .




  1. Hur man frågar ett relativt element med MongoDB

  2. Eval MongoDB-fråga med NodeJS

  3. Benchmark Apache HBase vs Apache Cassandra på SSD i en molnmiljö

  4. MongoDB:Använder matchning med indatadokumentvariabler