【问题标题】:How to delete a document from mongodb based on specific property value?如何根据特定的属性值从 mongodb 中删除文档?
【发布时间】:2016-12-20 05:43:06
【问题描述】:

我有来自正在打印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,
});

【问题讨论】:

    标签: node.js mongodb mongoose


    【解决方案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
    });
    

    【讨论】:

    • 感谢您帮助了解 mongodb 在回调方面的工作原理。
    猜你喜欢
    • 2017-04-18
    • 1970-01-01
    • 1970-01-01
    • 2023-02-03
    • 2021-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多