gpt4 book ai didi

java - Firebase 数据库复杂查询返回不正确的结果

转载 作者:行者123 更新时间:2023-11-29 19:05:20 24 4
gpt4 key购买 nike

我有一个基本如下所示的 Firebase 数据库:

enter image description here

最终,我试图捕捉“趋势”信息。 “趋势”将构成:

  1. 最近(添加到 Firebase 时)
  2. 高度重视(最高票数)

我在我的数据库中使用 FirebaseUI(最新版本 3.0.1)。我的查询如下:

    Query query = FirebaseDatabase.getInstance()
.getReference()
.child("Polls")
.limitToLast(3)
.orderByChild("vote_count");

FirebaseRecyclerOptions<Poll> options = new FirebaseRecyclerOptions.Builder<Poll>()
.setQuery(query, Poll.class)
.build();


mFireAdapter = new FirebaseRecyclerAdapter<Poll, PollHolder>(options) {
@Override
protected void onBindViewHolder(final PollHolder holder, int position, Poll model) {
holder.mPollQuestion.setText(model.getQuestion());
String voteCount = String.valueOf(model.getVote_count());

//TODO: Investigate formatting of vote count for thousands
holder.mVoteCount.setText(voteCount);
Picasso.with(getActivity().getApplicationContext())
.load(model.getImage_URL())
.fit()
.into(holder.mPollImage);
holder.mView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent toClickedPoll = new Intent(getActivity(), PollHostActivity.class);
toClickedPoll.putExtra("POLL_ID", mFireAdapter.getRef(holder.getAdapterPosition()).getKey());
startActivity(toClickedPoll);

}
});
}


@Override
public PollHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext())
.inflate(R.layout.latest_item,parent,false);
return new PollHolder(v);
}
};

希望首先看到最近添加的 child ,然后通过 vote_count child 对这些 child 进行排序。不幸的是,这个查询没有正确处理,因为它首先按 child 排序,然后限制为 3。

我的查询可行吗?更新 Cloud Firestore 会解决吗?

最佳答案

为此,您需要使用以下代码行:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
Query query = rootRef.child("Polls").orderByChild("vote_count").limitToLast(3);
query.addValueEventListener(/* ... */);

关于java - Firebase 数据库复杂查询返回不正确的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47460871/

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