gpt4 book ai didi

node.js - 如何在查询中使用 firestore.FieldValue.serverTimestamp()

转载 作者:太空宇宙 更新时间:2023-11-03 23:15:45 27 4
gpt4 key购买 nike

我想在 google cloud firestore 中创建一个查询来检索过去 10 小时内创建的数据,但我想使用服务器日期作为帐户的基础。

类似于:

this.afs.collection<any>("posts/", ref => {
let query: firebase.firestore.CollectionReference | firebase.firestore.Query = ref;

tenHoursAgo = firebase.firestore.FieldValue.serverTimestamp() - 10;
query = query.where('created', '>', tenHoursAgo);

return query.orderBy('created');
}).snapshotChanges()

我该怎么做?感谢您的帮助。

最佳答案

您不能使用 FieldValue.serverTimestamp() 作为查询中的值。

两种可能的解决方法:

  1. 最简单的接近方法是使用客户端的本地当前时间戳:new Date()

  2. 更复杂的替代方案是让客户端写入一个FieldValue.serverTimestamp(),然后读回该值,并在查询中使用结果值。

    这将使您免受客户端时钟偏差的影响。这是否值得额外的复杂性由您决定。

关于node.js - 如何在查询中使用 firestore.FieldValue.serverTimestamp(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55729204/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com