2016-01-03 2 views
-1

hi Я пытаюсь удалить значение из mongoDB, но вместо удаления определенного значения код удаляет всех пользователей из схемы lol.удалить значение из массива mongoDB

var mongoose = require('mongoose'); 
var User = require('../../models/UserModel'); 

module.exports.unfollow = function(req, res){ 

    var thefollowee = req.body.followee; 
    var thefollower = req.body.follower; 


    User.find({_id: thefollower}).remove({following: thefollowee}).exec(); 

    User.find({_id: thefollowee}).remove({followers: thefollower}).exec(); 

    res.json({ message: 'Unfollowed'}); 




}; 

followee указывает на идентификатор человека соблюдаются, последователем указывает на идентификатор пользователя, который следует за followee.

+1

Я только что видел ваш ответ всплывал, но вы можете также использовать мангуст-х [findOneAndRemove] (http://mongoosejs.com/docs/api .html # query_Query-findOneAndRemove). –

ответ

0

нормально, так что я получил его с помощью метода $ нагрузочного

var mongoose = require('mongoose'); 
var User = require('../../models/UserModel'); 

module.exports.unfollow = function(req, res){ 

    var thefollowee = req.body.followee; 
    var thefollower = req.body.follower; 


     User.findByIdAndUpdate(thefollowee, { $pull: { followers: req.body.follower }}, function (err, user) { 

      if (err) 

      return handleError(err); 

     }); 

     User.findByIdAndUpdate(thefollower, { $pull: { following: req.body.followee }}, function (err, user) { 

      if (err) 

      return handleError(err); 

     }); 

    res.json({ message: 'Unfollowed'}); 




}; 
Смежные вопросы