"Posts" : {
"-MnLFAlhayTv80FxzUfL" : {
"description" : "",
"picture" : "",
"postKey" : "-M",
"timeStamp" : 1635682139495,
"title" : "",
"userId" : "",
"userPhoto" : ""
},
"-MnLFzItc050Sn0EtDho" : {
"description" : "",
"picture" : "",
"postKey" : "-M",
"timeStamp" : 1635682350531,
"title" : "",
"userId" : "b",
"userPhoto" : ""
},
这是我的数据结构。我将使用orderbyChild(timeStamp).endat()方法创建一个删除旧帖子的代码,当我只试验长变量如1635682350531 this->>orderbyChild(timeStamp).endat(1635682350531L)时;当我把l加到1635682350531时,它就可以工作了
if (UId.equals("k")) {
long tlong = System.currentTimeMillis(); long ttime;
ttime = tlong - 3*24*60*60*1000;
StorageReference picRef = FirebaseStorage.getInstance().getReferenceFromUrl(postImage);
showMessage(String.valueOf(ttime));
picRef.delete()
.addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
//image deleted, now delete database
DatabaseReference db = FirebaseDatabase.getInstance().getReference();
Query queryByTimestamp = db.child("Posts").orderByChild("timeStamp").endAt(ttime);
queryByTimestamp.get().addOnCompleteListener(new OnCompleteListener<DataSnapshot>() {
@Override
public void onComplete(@NonNull Task<DataSnapshot> task) {
if (task.isSuccessful()) {
for (DataSnapshot ds : task.getResult().getChildren()) {
ds.getRef().removeValue();
Toast.makeText(PostDetailActivity.this,"게시글이 삭제되었습니다.",Toast.LENGTH_SHORT).show();
}
} else {
Log.d("TAG", task.getException().getMessage());
Toast.makeText(PostDetailActivity.this,"게시글이 삭제되지않았습니다.",Toast.LENGTH_SHORT).show();
}
}
});
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
//failed, can't go further
Toast.makeText(PostDetailActivity.this, "" + e.getMessage(), Toast.LENGTH_SHORT).show();
}
});
}
使用以下查询时:
Query queryByTimestamp = db.child("Posts").orderByChild("timeStamp").endAt(ttime);
需要索引。因此最有可能的是以下log语句:
Log.d("TAG", task.getException().getMessage());
生成以下错误消息:
{
"rules": {
"Posts": {
".indexOn": "timeStamp",
".read": true,
".write": true
}
}
}
为了让它起作用。设置此索引后,查询将返回预期结果和以下代码行:
ds.getRef().removeValue();
将从数据库中删除两个子级。
我的意思是当我使用“字符串”,“int”等关键字创建一个istance变量时。我能想象出那个变量。但当我使用类名创建实例变量时,我无法在脑海中想象任何东西。 谢谢你的关心
我使用useEffects在反应功能组件中获取数据,它必须在data(useState)中获取数据,所以问题是页面加载正确,在api res中没有问题。
版本信息 角度:1.5.8火基:3.2.1角度:2.0.1 测试用例 预期行为 创建具有指定起点的查询。 实际行为
我有一个使用Firebase SimpleLogin的应用程序,但由于我有额外的用户数据,我将其存储在[my-fire base]下。firebaseio.com/users/[用户名]。下面的片段显示了它是如何完成的 由于每个单独用户的数据都是基于用户名我通过uid优先排序的,因此我可以稍后通过uid获取其他用户数据。 当firebase登录事件触发时,我有以下处理程序,负责查询firebase
我尝试使用pg_dump命令导出PostgreSQL数据库(数据库名ari_company): 然后我得到了这个错误: 但当我运行默认数据库(postgres)时,它会工作并转储。sql被创建。使用命令
Firebase实时数据库即使在我使用. ush()方法时也会覆盖我在某个位置的数据。我对写入Firebase实时数据库知之甚少的是,写入Firebase实时数据库可以通过几种方式完成。其中最突出的两个是 set()和2。推送()方法。 长话短说,push()用于为要写入的数据创建新键,并将数据添加到节点。 很好,在我之前的项目中,Firebase一直在和我合作,但在这个项目中,我不知道发生了什么