Sha*_*zal 16 android firebase firebase-realtime-database
我在Firebase中保存数据如下:
我想找到所有标题中都有#Yahoo的记录.对此的确切查询是什么?
我对创建的随机密钥感到困惑.我不知道如何处理这个,所以我在这里发布它.
Firebase firebase = new Firebase(Constants.FIREBASE_URL_USER_TASKS).child(Utils.encodeEmail(unProcessedEmail));
Query queryRef = firebase.orderByKey().startAt("#" + mHashTag).endAt("#" + mHashTag + "\uf8ff");
queryRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
mTasksList.clear();
mAdapter.notifyDataSetChanged();
for (DataSnapshot task : dataSnapshot.getChildren()) {
mTasksList.add(task.getValue(TaskModel.class));
}
mAdapter.notifyItemRangeInserted(0, mTasksList.size());
mSwipeToRefresh.post(new Runnable() {
@Override
public void run() {
mSwipeToRefresh.setRefreshing(false);
}
});
}
@Override
public void onCancelled(FirebaseError firebaseError) {
mSwipeToRefresh.post(new Runnable() {
@Override
public void run() {
mSwipeToRefresh.setRefreshing(false);
}
});
}
});
Run Code Online (Sandbox Code Playgroud)
Fra*_*len 18
您无法搜索标题中包含的 任何项目#Yahoo
.请参阅:
如何在firebase上执行sql"LIKE"操作?
但是,您可以搜索标题以下开头的 项目#Yahoo
:
Firebase firebase = new Firebase(Constants.FIREBASE_URL_USER_TASKS).child(Utils.encodeEmail(unProcessedEmail));
Query queryRef = firebase.orderByChild("title").startAt("#" + mHashTag)
Run Code Online (Sandbox Code Playgroud)
为了使这项工作更好,您必须为Firebase规则添加索引:
"rules": {
"userTasks": {
"$email": {
".indexOn": "title" // index tasks in their title property
}
}
}
Run Code Online (Sandbox Code Playgroud)
小智 5
这是与 Google Firebase 一起使用的。
DatabaseReference mFirebaseDatabaseReference = FirebaseDatabase.getInstance().getReference();
Query query = mFirebaseDatabaseReference.child("userTasks").orderByChild("title").equalTo("#Yahoo");
query.addValueEventListener(valueEventListener);
ValueEventListener valueEventListener = new ValueEventListener()
{
@Override
public void onDataChange(DataSnapshot dataSnapshot)
{
for (DataSnapshot postSnapshot : dataSnapshot.getChildren())
{
//TODO get the data here
}
}
@Override
public void onCancelled(DatabaseError databaseError)
{
}
};
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
41668 次 |
最近记录: |