gpt4 book ai didi

javascript - 访问 Google Firestore 集合的最后 N 个文档

转载 作者:行者123 更新时间:2023-12-03 00:26:08 25 4
gpt4 key购买 nike

我想访问 google firestore 集合中的最后 N 个文档。文档的关键是 ISO 格式的时间戳。首先需要根据时间戳键对集合进行排序,并检索最后更新的 N 个文档。此操作必须实时且快速。

events(collection) =>
documents as below:
2019-01-07T08:21:18.600Z => {
symbolname: '10900CE',
price: '10825.0',
timestamp: '2019-01-07T13:51:18Z',
quantity: '2.0',
side: 'SELL' }
2019-01-07T08:21:28.614Z => {
symbolname: '10800PE',
price: '10825.0',
timestamp: '2019-01-07T13:51:28Z',
quantity: '2.0',
side: 'BUY' }
2019-01-07T09:45:24.783Z => { side: 'SELL',
symbolname: '10800PE',
price: '10805.0',
timestamp: '2019-01-07T15:15:24Z',
quantity: '2.0' }

我当前循环遍历集合并将键添加到数组中,然后对数组进行排序并按这些键获取最后 N 个文档,如下所示:

var ids = []
db.collection('events').get()
.then((snapshot) => {
snapshot.forEach((doc) => {
ids.push(doc.id)
});
})
.then(()=>{
//sortIds(ids);
console.log(JSON.stringify(ids[ids.length-2])) //second last entry 2019-01-07T08:21:28.614Z
})
.catch((err) => {
console.log('Error getting documents', err);
});

如果集合大小增加,此操作将花费很长时间。是否有实现此目的的最佳方法(排序/按降序集合并获取最后 N 个文档)?

谢谢

最佳答案

也许是这样的:

db.collection('events').orderBy("timestamp").limit(n)

关于javascript - 访问 Google Firestore 集合的最后 N 个文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54080656/

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