Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Mongoose mongodb保存子文档混乱?摩卡咖啡测试未完成()_Javascript_Node.js_Mongodb_Mongoose_Mocha.js - Fatal编程技术网

Javascript Mongoose mongodb保存子文档混乱?摩卡咖啡测试未完成()

Javascript Mongoose mongodb保存子文档混乱?摩卡咖啡测试未完成(),javascript,node.js,mongodb,mongoose,mocha.js,Javascript,Node.js,Mongodb,Mongoose,Mocha.js,我试图在mocha中编写一些测试,以便在每个方法之前在中保存一个文档和一些子文档,但它似乎永远不会到达done,然后继续超时 以下是模式: var mongoose=require('mongoose'); var Schema=mongoose.Schema; var LatLng=新模式({ id:Schema.ObjectId, 创建于:日期, 准确度:{ 类型:数字, 必填项:true }, 纬度:{ 类型:数字, 必填项:true }, 经度:{ 类型:数字, 必填项:true } }

我试图在mocha中编写一些测试,以便在每个方法之前在
中保存一个文档和一些子文档,但它似乎永远不会到达
done
,然后继续超时

以下是模式:

var mongoose=require('mongoose');
var Schema=mongoose.Schema;
var LatLng=新模式({
id:Schema.ObjectId,
创建于:日期,
准确度:{
类型:数字,
必填项:true
},
纬度:{
类型:数字,
必填项:true
},
经度:{
类型:数字,
必填项:true
}
});
LatLng.pre('save',功能(下一步){
如果(!this.created_at)
this.created_at=新日期();
});
var Walk=新模式({
id:Schema.ObjectId,
创建于:日期,
更新日期:年月日,
描述:字符串,
elapsedTime:Number,
距离:数字,
航路点:[LatLng],
_用户:{
类型:Schema.ObjectId,
ref:'用户',
必填项:true
}
});
Walk.pre('save',函数(下一步){
var now=新日期();
this.updated_at=now;
如果(!this.created_at)
this.created_at=now;
next();
});
Walk.pre('update',函数(下一步){
this.updated_at=新日期();
});
Walk.pre('findOneAndUpdate',函数(下一个){
this.updated_at=新日期();
});
Walk.pre('findByIdAndUpdate',函数(下一个){
this.updated_at=新日期();
});
module.exports=mongoose.model('Walk',Walk);
以下是每个之前的

在每个函数之前(完成){
var_this=这个;
//创建临时用户
var userData={username:'bob',password:'password123'};
var user=新用户(userData)
.save(函数(错误,用户){
如果(错误)完成(错误);
_this.user=用户;
//使用临时用户登录
请求发布(“/login”)
.send(用户数据)
.end(函数(err、res){
如果(错误)完成(错误);
//创建临时模型
var walk1=新的Walk({
description:'description1',
延迟时间:10000,
距离:5000,
_用户:res.body.user.\u id,
航路点:[
{“精度”:11,“纬度”:44.06523257,“经度”:-123.06101363},
{“精度”:12,“纬度”:44.06525829,“经度”:-123.06100709},
{“精度”:11,“纬度”:44.06523424,“经度”:-123.06099261},
{“精度”:11,“纬度”:44.0652201,“经度”:-123.06097669}
]
});
var walk2=新的Walk({
description:'description1',
延迟时间:10000,
距离:5000,
_用户:res.body.user.\u id,
航路点:[
{“精度”:11,“纬度”:44.06523424,“经度”:-123.06099261},
{“精度”:11,“纬度”:44.0652201,“经度”:-123.06097669},
{“精度”:11,“纬度”:44.06521917,“经度”:-123.06098176}
]
});
var walk3=新的Walk({
description:'description1',
延迟时间:10000,
距离:5000,
_用户:res.body.user.\u id,
航路点:[
{“精度”:6,“纬度”:44.06528592,“经度”:-123.06087405},
{“精度”:4,“纬度”:44.06528038,“经度”:-123.06088851},
{“精度”:4,“纬度”:44.06528185,“经度”:-123.06088036}
]
});
//保存临时模型
walk1.保存(函数(err,walk){

console.log('got here');//哇,真不敢相信我错过了。只是忘了在我的
LatLng.pre('save')
中调用
next