2016-12-19 2 views
0

У меня есть клиент, который печатает req.params.id Теперь я хочу удалить документ, содержащий это значение attuid. Метод удаления не удаляет документ. Любая идея, что реализовано неправильно?Как удалить документ из mongodb на основе определенного значения свойства?

controller.js

export function destroy(req, res) { 
console.log(req.params.id); 
    UserAccess.remove({attuid: req.params.id}); 
} 

schema.js

var mongoose = require('bluebird').promisifyAll(require('mongoose')); 

var UserAccessSchema = new mongoose.Schema({ 
    firstName: String, 
    lastName: String, 
    attuid: String, 
    email: String, 
}); 

ответ

1

Когда вы делаете

UserAccess.remove({attuid: req.params.id}); 

он возвращает Query экземпляр и фактически не выполняет действие. Для того, чтобы это произошло, вы должны либо вызвать Query#exec метод:

UserAccess.remove({attuid: req.params.id}) 
    .exec(function() { 
     // your callback here 
    }) 

или обеспечить обратный вызов .remove:

UserAccess.remove({attuid: req.params.id}, function() { 
    // your callback here 
}); 
+0

Спасибо вам, что помогли понять, как MongoDB работает в терминах обратного вызова. – hussain

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