下面是我用来对Firebase数据库执行POST请求的代码。 我该怎么做,以允许子序列POST请求按升序排列?我不希望Firebase自动生成唯一ID。
可以在此处查看示例。 enter image description here
public void postEachFirebaseMessage(string dbcolName)
{
var json = Newtonsoft.Json.JsonConvert.SerializeObject(new
{
user = "UserNameValue",
message = "MessageValue",
});
var request = WebRequest.CreateHttp(@"" + config.BasePath + dbcolName + ".json?auth=" + config.AuthSecret);
request.Method = "POST";
request.ContentType = "application/json";
var buffer = Encoding.UTF8.GetBytes(json);
request.ContentLength = buffer.Length;
request.GetRequestStream().Write(buffer, 0, buffer.Length);
var response = request.GetResponse();
json = (new StreamReader(response.GetResponseStream())).ReadToEnd();
}
答案 0 :(得分:0)
我不希望Firebase自动生成唯一ID。
如果您不希望Firebase为您自动生成唯一密钥,则可以生成自己的唯一密钥,然后PUT
数据到该完整URL。像这样:
var request = WebRequest.CreateHttp(@"" + config.BasePath + dbcolName + "/yourOwnUniqueKey" + ".json?auth=" + config.AuthSecret);
request.Method = "PUT";
但是如前所述:您将需要确保自己的密钥是唯一的。这是一个完全有效的方案,但是您将不得不自己编写用于生成唯一密钥的代码。
如果您想知道Firebase为什么不简单使用诸如0
,1
,2
之类的键,我建议阅读此博客文章:https://firebase.googleblog.com/2014/04/best-practices-arrays-in-firebase.html