sql >> Database >  >> NoSQL >> MongoDB

Push-element in array dat de sleutel is van een ander object op een specifieke positie

Het probleem is dat om de positionele $ te gebruiken update-operator het arrayveld moet verschijnen als onderdeel van het querydocument.

MySchema.findOneAndUpdate(
    { "_id": questionId, "question.answers.author": "patrick" }, 
    { "$push": { "question.answers.$.comments": { "$each": [comment] } } }, 
    function(err, doc) {
        //Do something
    }
)

Zoals vermeld in de documentatie :

MySchema.findOneAndUpdate(
    { "_id": questionId }, 
    { "$push": { "question.answers.1.comments": { "$each": [comment] } } }, 
    function(err, doc) {
        //Do something
    }
)



  1. Projectie-optie om de lengte/grootte van het veld terug te geven

  2. ArrayFilter in mangoest

  3. Spark en MongoDB-toepassing in Scala 2.10 maven ingebouwde fout

  4. Node.js kan geen verbinding maken met MongoDB