C # Firebase Restful Post сгенерировать уникальный ключ - PullRequest
0 голосов
/ 02 сентября 2018

Ниже приведен мой код, который я использовал для выполнения запроса POST к базе данных firebase. Что я могу сделать, чтобы запрос POST подпоследовательности находился в порядке возрастания? Я не хочу, чтобы firebase автоматически генерировал уникальный идентификатор.

Пример можно посмотреть здесь. введите описание изображения здесь

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();
    }

1 Ответ

0 голосов
/ 03 сентября 2018

Я не хочу, чтобы 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...