gpt4 book ai didi

javascript - 如何从整个集合中获取最后添加的文档。开快照

转载 作者:行者123 更新时间:2023-11-30 19:38:36 25 4
gpt4 key购买 nike

我正在尝试将最后一个文档添加到特定集合中。阅读文档我得到了以下代码:

db.collection("Orders")
.onSnapshot(function(snapshot) {
snapshot.docChanges.forEach(function(change) {
if (change.type === "added") {
console.log("New order: ", change.doc.data());
}
if (change.type === "modified") {
console.log("Modified order: ", change.doc.data());
}
if (change.type === "removed") {
console.log("Removed order: ", change.doc.data());
}
});
});

但它带来了不止一个文档。带上所有因为它读起来就像所有都是新的。为了创建上下文,它是一个订单数据库,所以我需要应用程序监听最后添加的订单,而不是全部。我真的很感激任何帮助!谢谢!

最佳答案

Firestore 没有内置的最新概念,或者至少不是您可以过滤的方式。因此,为了让您检索到最近的文档,您必须首先为每个文档添加一个时间戳。我建议为此使用服务器端时间戳,像这样:

ordersCollection.add({
..., // all your other fields
timestamp: firebase.firestore.FieldValue.serverTimestamp()
});

有了它,您可以通过排序和限制获得最新的文档:

db.collection("Orders")
.orderBy("timestamp", "desc")
.limit(1)
.onSnapshot(function(snapshot) {
snapshot.forEach(function(doc) {
console.log(doc.id, doc.data());
});
});

关于javascript - 如何从整个集合中获取最后添加的文档。开快照,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55669574/

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