我正在使用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)
循环结束后有没有办法发送它?
当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)