我目前无法通过我的tableview显示值,因为我正在创建这个类似Instagram / Facebook的Feed,其中tableView在底部更新(只需通过firebase从数据库中获取新值)。但是,我真的很难用非dulpicate数据填充tableView。我正在按子(timestamp)对firebase ref进行排序,默认情况下我会显示" queryLimitedToLast(10)"。但是,这就出现了问题。我无法真正找到一种方式来展示" new"数据,尚未在上面的表格视图中列出。
我有一个" curLength:Int = 10"在我的ViewController中(显然是变量)。
每次用户更新tableView时,curLength为+ = 10,后跟一个只更新tableView的函数。不幸的是,我无法确定如何在查询中显示不存在的数据,因为我通过" queryLimitedToLast(x)"来运行它,在这种情况下只是重新填充tableView两次使用相同的数据,然后是10条新记录。
如果我想显示最新数据,那么我将如何处理这个问题?" 10个新帖子"每次更新?
答案 0 :(得分:0)
您需要将时间戳用作分页游标。如果您请求按时间戳排序的10个帖子,请查询从您的tableView中具有最新时间戳的帖子值开始的下10个帖子。这样,您只会获取比最新帖子更新的帖子。
SELECT sum(amount) AS totalAmountEarned, array_agg(d) AS transactions
FROM default d WHERE _type = "UWTrans" AND userId = "BJsMyG57c18f13";
[
{
"totalAmountEarned": 16,
"transactions": [
{
"_id": "8c658e34-34cc-4e61-8b26-5abc1cebd95e",
"_metadata": {
"created_at": 1472550145662,
"created_by": "api-tenant-1"
},
"_type": "UWTrans",
"amount": 4,
"reference": {
"refTranId": "0c0133f4-ade7-4190-8a43-a59de43846b4",
"refTranModule": "NSP",
"refTranType": "BUY"
},
"source": "WALLET",
"tranType": "REFERRAL",
"userId": "BJsMyG57c18f13"
},
{
"_id": "8c658e34-34cc-4e61-8b26-5abc1cebd95e",
"_metadata": {
"created_at": 1472550145662,
"created_by": "api-tenant-1"
},
"_type": "UWTrans",
"amount": 12,
"reference": {
"refTranId": "0c0133f4-ade7-4190-8a43-a59de43846b4",
"refTranModule": "NSP",
"refTranType": "BUY"
},
"source": "WALLET",
"tranType": "REFERRAL",
"userId": "BJsMyG57c18f13"
}
]
}
]