无法从 firebase 获取最近 30 天的数据

Unable to fetch tha last 30 days data from firebase

我正在尝试从 firebase 获取最近 30 天的帖子,并且我正在尝试使用帖子中的时间戳来这样做。但我无法获取数据。

Kotlin 代码:

var database:DatabaseReference=Firebase.database.reference
        database.orderByChild("timestamp")
        val postListener = object : ValueEventListener {
            @RequiresApi(Build.VERSION_CODES.O)
            override fun onDataChange(dataSnapshot: DataSnapshot) {
                // Get Post object and use the values to update the UI
                for(postSnapshot in dataSnapshot.children)
                {
                    if(postSnapshot.child("timestamp").value.toString().toInt()>Time.from(Instant.now().minusSeconds(30*24*60*60)).toString().toInt())
                    {
                        val Post = postSnapshot.getValue(PostsModel::class.java)
                        postsList.add(Post!!)
                    }

                }
            }

            override fun onCancelled(databaseError: DatabaseError) {
                // Getting Post failed, log a message
                Timber.d("failed")
            }
        }

Firebase 数据结构:

你需要添加一个条件,时间必须是一个月前,然后你会产生一个合适的数据列表。错误也可能在您未提供的另一个级别(数据组织或可能您没有连接监听器)

Firebase.database.reference
    .whereGreaterThan("timestamp", Calendar.getInstance().also { it.add(Calendar.MONTH, -1) }.timeInMillis)

您声明了一个侦听器,但并未将其附加到数据库。直到您调用 addValueEventListeneraddListenerForSingleValueEvent get().

我建议研究 reading data 上的 Firebase 文档,因为它展示了如何执行这些操作。