我正在使用角形的反应式表单,我需要将开始日期“开始日期”与结束日期“结束日期”进行比较,两个控件均在“ dateLessThan”函数中进行了验证,但是问题是我不知道如何要求控制权正在评估
//Some stuff
public fechaInicio = new FormControl('', [
Validators.required
, this.dateLessThanTo
]);
public fechaFin = new FormControl('', [
Validators.required
, this.dateLessThan
]);
createForm() {
this.contratoForm = this.formBuilder.group({
fechas: this.formBuilder.group({
fechaInicio: this.fechaInicio,
fechaFin: this.fechaFin
}, { validator: this.dateLessThan('fechaInicio', 'fechaFin') }),
});
}
Run Code Online (Sandbox Code Playgroud)
在这里,我需要知道比较日期的控件名称:
dateLessThanTo(fieldControl: FormControl) {
//
//if (fechaInicio.value > FechaFin.value){
// return true;
//}
//else{
// return false;
// }
}
//Some stuff
Run Code Online (Sandbox Code Playgroud) 我有一个db数据如下
{
"_id" : ObjectId("5a2109572222085be93ef10d"),
"name" : "data1",
"date" : "2017-12-01T00:00.0Z",
"status" : "COMPLETED"},{
"_id" : ObjectId("5a2109572222085be93ef10d"),
"name" : "data1",
"date" : "2017-12-01T00:00.0Z",
"status" : "FAILED"}
Run Code Online (Sandbox Code Playgroud)
我想要一个agreagate输出如下
{date:"2017-12-01T00:00:0Z",总数:"2",完成:1,失败:1}
我试过这段代码,但没有产生上面的结果
db.test.aggregate([
{$group: {_id : {date : '$date',status:'$status'}, total:{$sum :1}}},
{$project : {date : '$_id.date', status : '$_id.status', total : '$total', _id : 0}}
])
Run Code Online (Sandbox Code Playgroud)