【发布时间】:2019-12-17 15:54:00
【问题描述】:
我一直试图理解为什么我的查询从服务器生成的时间戳值返回空对象。
基本上,我在我的 Firestore 数据库上使用了 onUpdate() 触发器并检查产品是否库存不足,并在库存
const date = admin.firestore.FieldValue.serverTimestamp();
const reminder = {
productID : product.barcode,
date : date,
status: 'Order'
}
const docSnapShot = admin.firestore().collection('reminders').doc(product.barcode).get().then(documentSnapShot =>{
if(documentSnapShot.exists){
return admin.firestore().collection('reminders').doc(product.barcode).update({date: date}).then(res=> {
console.log('Document updated');
return null;
}).catch(error =>{
console.log('Error',error);
return null;
});
}
else{
exists = docSnapShot.exists;
return null;
}
});
服务器成功插入生成的时间戳,即使手动添加,它仍然检索 Java/Android 中的空对象。使用 FirestoreRecyclerView 和 RecyclerView 自定义适配器和类。我尝试了 ServerTimeStamp 并仔细检查了变量名、序列,但我仍然得到一个空对象。我得到了正确的 productID 和 status 值。
public reminderFirestore(Timestamp date, String productID, String status) {
this.productID = productID;
this.date = date;
this.status = status;
}
这与我的构造函数和对象类型有关还是我在服务器/Node.js 代码中搞砸了?
【问题讨论】:
-
您是否为每个属性制作了 getter,包括时间戳?对于自定义类,使用默认的空构造函数
标签: android node.js google-cloud-firestore google-cloud-functions