sql >> Database >  >> NoSQL >> MongoDB

$push gebruiken binnen Array in mangoest

Waar je naar streeft, is geen geldige structuur. Wat u in plaats daarvan waarschijnlijk wilt, is een schema waarin NetworkList bevat direct een array van ObjectIds van de vrienden van de gebruiker:

var NetworkSchema = new Schema({
    UserID: {
        type: String,
        default: '',
        trim: true
    },
    NetworkList: [{
        type: Schema.ObjectId,
        ref: 'User'
    }]
});

Uw documenten zien er dan als volgt uit:

{
    "_id" : ObjectId("548adbc8b7eac44013bf188d"),
    "NetworkList" : [ 
        ObjectId("5486fab40bc27314276be8cf") 
    ],
    "UserID" : "547eaaab6c39471c3f5aebb6",
    "__v" : 0
}

Dan kun je een nieuwe vriend toevoegen aan NetworkList met behulp van de $push operator als volgt:

exports.update = function(req, res) {
    var query={'UserID': req.body.UserID};
    var update = {$push: {'NetworkList': req.body.FriendID}};

    Network.findOneAndUpdate(query, update, function(err, doc){ ... });
};



  1. Got Access wordt geweigerd toen ik 64-bit mongodb probeerde te installeren op Windows-server 2008

  2. Hoe maak je zoiets als een virtueel veld en hardcode een waarde in mongodb-aggregatie $ project?

  3. NodeJS + ExpressJS + RedisStore-sessie is niet gedefinieerd

  4. Maak convertToCapped ongedaan naar een verzameling