【问题标题】:Delete from multiple collections using mongoose使用 mongoose 从多个集合中删除
【发布时间】:2020-09-22 14:45:32
【问题描述】:

我正在使用 mongoose,我想搜索多个集合并使用 _id 属性删除。

我从用户那里收到一个 _id 数组,并且我正在尝试遍历每个元素。

var express = require("express");
const mongoose = require("mongoose");
const router = express.Router();


router.delete("/", async (req, res) => {
  let data = req.body; // this is an array of _id from the user


   data.forEach((element) => {
    let models = [];
    models.push(mongoose.models.Furniture);
    models.push(mongoose.models.Clothing);
    models.map((model) => model.findByIdAndRemove(element));
  });
});

module.exports = router;

当我运行它时,我没有收到任何错误。

【问题讨论】:

    标签: node.js express mongoose


    【解决方案1】:

    MongoDB 操作是异步操作。因此,要获取错误或结果,您需要等到数据库返回响应。

    var express = require("express");
    const mongoose = require("mongoose");
    const router = express.Router();
    
    
    router.delete("/", async (req, res) => {
      let data = req.body; // this is an array of _id from the user
    
    
       data.forEach((element) => {
        let models = [];
        models.push(mongoose.models.Furniture);
        models.push(mongoose.models.Clothing);
        try {
          models.map(async (model) => { await model.findByIdAndRemove(element)});
        } catch (error) { console.log(error) }
      });
    });
    
    module.exports = router;
    Note: this code is not tested locally but the problem I have solved here
    

    【讨论】:

      猜你喜欢
      • 2021-08-14
      • 1970-01-01
      • 2013-06-07
      • 2015-03-24
      • 2017-10-22
      • 2019-10-25
      • 1970-01-01
      • 2019-05-26
      • 2016-06-20
      相关资源
      最近更新 更多