我正在尝试从离子的Firebase过滤时间戳。我想做的是,我想过滤所有未经过今天的时间戳,即时间表。基本上,如果计划已经完成,我想从Firestore检索它。如果它仍然计划,那么我不需要检索它。我的问题是我根本无法获得任何时间戳。 为了做到这一点,我正在我的构造函数内进行查询。在这里。
myDate: String = new Date().toISOString();
constructor(public navCtrl: NavController, public formBuilder: FormBuilder) {
let db = firebase.firestore();
var auxint = 0;
this.dataAux
let auxString = '[';
db.collection('Usuario').where("Deletado", "==", false).where('DataCriacao', '<', this.myDate).get().then(res => {
res.forEach(item => {
auxint++;
auxString += '{"id":"' + item.id + '","Usuario":' + JSON.stringify(item.data()) + '}';
if (res.size != auxint)
auxString += ', ';
})
auxString += ']';
this.dataJSON = JSON.parse(auxString);
console.log(this.dataJSON);
}).catch(err => {
console.log('algum erro ' + err);
});
}
我如何显示Firestore数据
<ion-item-sliding *ngFor="let data of dataJSON">
<ion-item>
<h3>DataCriacao: {{data?.DataCriacao}}</h3>
<p>DataUpdate: {{data?.DataUpdate}}</p>
<p>DELETADO: {{data?.Deletado}}</p>
<p>EMAIL: {{data?.Usuario?.Documento?.email}}</p>
<p>ID: {{data.Usuario.Documento?.id}}</p>
<p>NOME: {{data.Usuario.Documento?.nome}}</p>
<p>SENHA: {{data.Usuario.Documento?.senha}}</p>
<p>TELEFONE: {{data?.Usuario?.Documento?.telefone}}</p>
</ion-item>
<ion-item-options>
答案 0 :(得分:1)
我注意到我的屏幕正在打印出一个空的[]数组类型。
这是因为您正在使用>比较String和Timestamp数据。这不是有效的比较,因此不会从集合中检索任何文档,从而为您提供空数组。
相反,您必须将两种数据类型保持相同。您应该仅以“日期”格式保留当前日期。从Firestore返回的时间戳记也采用日期格式。
myDate: String = new Date();
因此,现在您可以使用where查询比较它们。