MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Mongo $addToSet avec plusieurs valeurs syntaxe correcte

Vous devez ajouter un objet pour définir UsersAndQuestions :

{$addToSet: {UsersAndQuestions: { userID: idToAdd, questionID: questionToAdd } }}

MISE À JOUR.

Je le ferais avec deux requêtes :

Listing.update({_id: ObjectId(listingToUpdate), 'UsersAndQuestions.userID': idToAdd}, 
    {"$addToSet": {"UsersAndQuestions.$.questionID": questionToAdd}}
    , function (err, result) {
        if(result.n === 0){
            //we haven't found document with the userId - idToAdd
            //we need to insert to UsersAndQuestions document with this user
            Listing.update({_id: ObjectId(listingToUpdate)},
                {$addToSet: {UsersAndQuestions: { userID: idToAdd, questionID: questionToAdd } }}, 
                function(err, res){

                })
        }
})