小编ale*_*hzr的帖子

需要在forEach完成后发送响应

我正在使用NodeJS + Mongoose,我正在尝试填充一个对象数组,然后将其发送到客户端,但我不能这样做,响应始终为空,因为它是在每个结束之前发送的.

router.get('/', isAuthenticated, function(req, res) {
Order.find({ seller: req.session.passport.user }, function(err, orders) {
    //handle error
      var response = [];
      orders.forEach(function(doc) {
        doc.populate('customer', function(err, order) {
          //handle error
          response.push(order);
        });
      });
      res.json(response);
  });
});
Run Code Online (Sandbox Code Playgroud)

循环结束后有没有办法发送它?

mongoose mongodb node.js express

3
推荐指数
1
解决办法
1602
查看次数

如何使用Mongoose删除中间件级联删除?

当DELETE请求发送到我的API时,我正在尝试删除模式的所有依赖项.删除没问题,但删除中间件,它应该是清理依赖项,似乎甚至没有被调用.

这是我的Customer架构:

var mongoose = require("mongoose"),
Schema = mongoose.Schema,
passportLocalMongoose = require('passport-local-mongoose');

var Order = require('./order');
var Customer = new Schema({
    name: String,
    telephone: Number,
    address: String,
    email: String,
    seller: String
});

Customer.post('remove', function(next) {
    Order.remove({ customer: this._id }).exec();
    next();
});

Customer.plugin(passportLocalMongoose);

module.exports = mongoose.model("Customer", Customer);
Run Code Online (Sandbox Code Playgroud)

这是我的客户路线:

var express = require('express');
var router = express.Router();
var passport = require('passport');
var isAuthenticated = require('./isAuthenticated');
var Customer = require('../models/customer');
var Order = require('../models/order');

// (...)

router.delete('/:customer_id', function(req, res) {
    Customer.remove({ _id: req.params.customer_id …
Run Code Online (Sandbox Code Playgroud)

mongoose mongodb node.js

2
推荐指数
1
解决办法
7425
查看次数

标签 统计

mongodb ×2

mongoose ×2

node.js ×2

express ×1