[英]firestore timestamp query not returning value
首先,您一定误认为db
是firebase.database()
。 它应该是firebase.firestore()
。 它们是针对不同数据库系统的不同 API。 您在此处显示的是 Firestore,而不是实时数据库。
其次, snap
是一个QuerySnapshot类型 object。 您的代码只是打印 QuerySnapshot object 的 JavaScript 默认字符串表示形式。 这对你根本没有用。 您将需要使用 QuerySnapshot API 来获取查询产生的文档的值,如文档中所示:
.then((snap) => {
snap.forEach(function(doc) {
// doc.data() is never undefined for query doc snapshots
console.log(doc.id, " => ", doc.data());
});
});
第三,我可以从您的 output 中看到结果集中没有文档( docs: Array[0]
),因此您的代码根本不会打印任何内容。 您的查询正在尝试将时间戳类型字段与 integer 进行比较。 这些不是可比较的字段值。 如果您有时间戳字段,则必须将其与另一个时间戳类型值进行比较。 您可以使用 JavaScript 对象或 Firestore Timestamp 对象:
const gamesRef = db.collection("games");
gamesRef
.where("kickoff", ">", new Date())
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.