我一直在使用以下中间件,然后突然停止保存新文档。评论中的进一步说明
var body = req.body;
new ordersModel (body).save(function(err, newOrder, rowCount) {
if (err) throw err;
console.log(rowCount) // logs 1
updateEstimatedTime(newOrder); /* updateEstimatedTime runs but inside
it, trying to find this document newOrder returns null,
meaning it was never saved */
});
如果我尝试类似
的话var pleaseWork = new ordersModel (body);
console.log(pleaseWork) // it dumps a loaded mongoose object
pleaseWork.save(function(err, newOrder, rowCount) {
那为什么不坚持?我还尝试在顶部重新加载服务器几次,以防我在服务器设置期间加载集合
ordersModel.find({}, 'customer', function (err, docs) {
if (err) throw err;
console.log(docs)
})
但它只返回此错误开始之前存在的文档。我已经三次检查了模型名称,它在整个脚本中都是一样的。代码缺少什么? 我在网上也看到了一些在
区域提出建议的例子var pleaseWork = new ordersModel ();
pleaseWork.foo = body.foo;
pleaseWork.bar = body.bar;
pleaseWork.john = body.john;
console.log(pleaseWork) // dumps a loaded mongoose object
pleaseWork.save(function(err, newOrder, rowCount) {
现在,这对我来说不可行; ordersModel表有10个以上的列 - 在模型的构造函数中删除body对象是足够的,并且在程序运行的最后一次运行。
虽然我不认为这是必要的,但如果你需要看我的模型,我可以提供。还有完整的服务器代码,以防您需要部署和测试。
答案 0 :(得分:1)
感谢@ NeilLunn的评论和随后的debug data我在第10行注意到我正在删除包含此新订单的 public ActionResult DropDownn(string query)
{
using (DynamicDBEntities db = new DynamicDBEntities())
{
var result = context.SP_DynamicCtrl(query);
return result.FirstOrDefault();
}
}
文件。此行不在中间件中,而是在代理初始化服务器变量
estimatedDeliveryTime = null
我正在使用它来清除无效订单中的集合