如何根据具体的属性值从mongodb中删除文件?

时间:2016-12-19 21:22:23

标签: node.js mongodb mongoose

我有来自正在打印req.params.id的客户端的attuid现在我要删除包含此attuid值的文档。删除方法不删除文档。知道什么是错误的吗?

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 个答案:

答案 0 :(得分: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
});