Javascript 无法从日期范围为的Firestore获取数据
我有这样的Firebase系列: 我正在尝试使用以下代码获取具有日期范围条件的数据: ticket form.html.tsJavascript 无法从日期范围为的Firestore获取数据,javascript,angular,google-cloud-firestore,angularfire2,Javascript,Angular,Google Cloud Firestore,Angularfire2,我有这样的Firebase系列: 我正在尝试使用以下代码获取具有日期范围条件的数据: ticket form.html.ts <form [formGroup]="form2" #fd2="ngForm" class="form" (submit)="onSubmmitDates(form2.value, fd2)"> <div class="fo
<form
[formGroup]="form2"
#fd2="ngForm"
class="form"
(submit)="onSubmmitDates(form2.value, fd2)">
<div class="form__article">
<h3>Ticket Data</h3>
<div class="mdl-grid">
<div class="mdl-cell mdl-cell--6-col mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
<input
class="mdl-textfield__input"
type="date"
id="dateFrom"
formControlName="dateFrom"
/>
<label class="mdl-textfield__label" for="dateFrom">Date From</label>
</div>
<div class="mdl-cell mdl-cell--6-col mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
<input
class="mdl-textfield__input"
type="date"
id="dateTo"
formControlName="dateTo"
/>
<label class="mdl-textfield__label" for="dateTo">Date To</label>
</div>
</div>
</div>
<div class="form__action">
<div class="mdl-layout-spacer"></div>
<button
id="submit_button"
class="mdl-button mdl-js-button mdl-button--raised mdl-button--colored">
Submit
</button>
</div>
</form>
onSubmmitDates(value: any) {
this.ts.getSpecificTicket(value.dateFrom, value.dateTo).subscribe(
res => {
this.ticketsList = res.map(item => {
return {
...item.payload.doc.data(),
};
});
console.log(this.ticketsList);
}
);
// const x = this.ts.getSpecificTicket(value.dateFrom, value.dateTo);
}
onGetAll() {
this.ts.getAll().subscribe(
res => {
this.ticketsList = res.map(item => {
return {
...item.payload.doc.data(),
};
});
}
);
}
private ticketList: AngularFireList<any>;
constructor(
private firestore: AngularFirestore,
private afDatabase: AngularFireDatabase,
) { }
// Parameters is from the 2 date pickers in the html
getSpecificTicket(dateFrom: Date, dateTo: Date): any {
let df: any = new Date(dateFrom);
df = df.getTime();
let dt: any = new Date(dateTo);
dt = dt.getTime();
return this.firestore.collection('/tickets', ref => ref.where('issuedOn', '>', df).where('issuedOn', '<', dt)).snapshotChanges();
}
getAll() {
return this.firestore.collection('tickets').snapshotChanges();
}
票务服务.ts
<form
[formGroup]="form2"
#fd2="ngForm"
class="form"
(submit)="onSubmmitDates(form2.value, fd2)">
<div class="form__article">
<h3>Ticket Data</h3>
<div class="mdl-grid">
<div class="mdl-cell mdl-cell--6-col mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
<input
class="mdl-textfield__input"
type="date"
id="dateFrom"
formControlName="dateFrom"
/>
<label class="mdl-textfield__label" for="dateFrom">Date From</label>
</div>
<div class="mdl-cell mdl-cell--6-col mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
<input
class="mdl-textfield__input"
type="date"
id="dateTo"
formControlName="dateTo"
/>
<label class="mdl-textfield__label" for="dateTo">Date To</label>
</div>
</div>
</div>
<div class="form__action">
<div class="mdl-layout-spacer"></div>
<button
id="submit_button"
class="mdl-button mdl-js-button mdl-button--raised mdl-button--colored">
Submit
</button>
</div>
</form>
onSubmmitDates(value: any) {
this.ts.getSpecificTicket(value.dateFrom, value.dateTo).subscribe(
res => {
this.ticketsList = res.map(item => {
return {
...item.payload.doc.data(),
};
});
console.log(this.ticketsList);
}
);
// const x = this.ts.getSpecificTicket(value.dateFrom, value.dateTo);
}
onGetAll() {
this.ts.getAll().subscribe(
res => {
this.ticketsList = res.map(item => {
return {
...item.payload.doc.data(),
};
});
}
);
}
private ticketList: AngularFireList<any>;
constructor(
private firestore: AngularFirestore,
private afDatabase: AngularFireDatabase,
) { }
// Parameters is from the 2 date pickers in the html
getSpecificTicket(dateFrom: Date, dateTo: Date): any {
let df: any = new Date(dateFrom);
df = df.getTime();
let dt: any = new Date(dateTo);
dt = dt.getTime();
return this.firestore.collection('/tickets', ref => ref.where('issuedOn', '>', df).where('issuedOn', '<', dt)).snapshotChanges();
}
getAll() {
return this.firestore.collection('tickets').snapshotChanges();
}
private ticketList:AngularFireList;
建造师(
私人消防商店:AngularFirestore,
专用afDatabase:AngularFireDatabase,
) { }
//参数来自html中的两个日期选择器
getSpecificTicket(dateFrom:Date,dateTo:Date):任何{
设df:any=新日期(dateFrom);
df=df.getTime();
设dt:any=新日期(dateTo);
dt=dt.getTime();
返回此.firestore.collection('/tickets',ref=>ref.where('issuedOn','>',df)。其中(‘issuedOn’,‘请编辑问题以准确显示您如何调用函数,包括您传递给它的参数的确切值。我们应该能够使用所有已知值跟踪函数的执行情况。@DougStevenson请查看我的编辑。谢谢。我仍然看不到您传递给getSpecificTi的日期cket。一切仍然只是变量。据我所知,您传递的日期无效,或与任何文档不匹配的日期。请帮助我们了解您传递的内容,以及为什么您应该在结果中接收任何文档。@DougStevenson请查看我的编辑。希望这能说明问题。谢谢。您希望返回哪些文档ned使用那个日期范围?你试过其他日期范围吗?