我需要一些帮助。我正在尝试从firebase数据库中检索最后2个值,但以下代码返回所有3个值。我做错了什么?
FirebaseDatabase mFirebaseDatabase = FirebaseDatabase.getInstance();
DatabaseReference mDatabaseReference = mFirebaseDatabase.getReference().child("data/" + userId + "/contents/");
mDatabaseReference.limitToLast(2);
mFirebaseAdapter = new FirebaseRecyclerAdapter<MyObject, MyObjectViewHolder>(
MyObject.class,
R.layout.item,
MyViewHolder.class,
mDatabaseReference) {...}
这就是我的数据库结构的样子:
d5TPjSY2rJRrFJUF7nPrQWcGAjh1
contents
-KqKbcnMfHwYKChXHiCA
-KqKbibX3f96ceVfoTLV
-KrBrtsHeLaWv_gEUjIT
其中d5TPjSY2rJRrFJUF7nPrQWcGAjh1是userId。 提前谢谢!
答案 0 :(得分:2)
当您调用limitToLast()
(或任何其他查询方法)时,它会返回一个新对象。您必须使用此新对象。
DatabaseReference mDatabaseReference = mFirebaseDatabase.getReference().child("data/" + userId + "/contents/");
Query query = mDatabaseReference.limitToLast(2);
mFirebaseAdapter = new FirebaseRecyclerAdapter<MyObject, MyObjectViewHolder>(
MyObject.class,
R.layout.item,
MyViewHolder.class,
query) {...}