Я пытаюсь отправить снимки данных в базу данных Firebase.Это в основном работает нормально, но у меня возникает проблема, когда вместо дочерних объектов, прикрепляемых непосредственно к их предполагаемым родителям, они добавляются к дополнительному дочернему объекту, который прикреплен к предполагаемому родителю.
public void CreateCampaign()
{
campaignName = campaignNameText.text;
ownerName = pInfo.userName;
if (string.IsNullOrEmpty(campaignName))
{
DebugLog("invalid campaign name.");
return;
}
DebugLog(String.Format("Attempting to add campaign ", campaignName, ownerName));
DatabaseReference reference = FirebaseDatabase.DefaultInstance.GetReference("Users").Child(pInfo.userName).Child("Campaigns").Push();
DebugLog("Running Transaction...");
reference.RunTransaction(AddCampaignTransaction)
.ContinueWith(task =>
{
if (task.Exception != null)
{
DebugLog(task.Exception.ToString());
}
else if (task.IsCompleted)
{
DebugLog("Campaign " + campaignName + " added successfully.");
}
});
}
TransactionResult AddCampaignTransaction(MutableData mutableData)
{
List<object> Campaigns = mutableData.Value as List<object>;
if (Campaigns == null)
{
Campaigns = new List<object>();
}
Dictionary<string, object> newCampaignMap = new Dictionary<string, object>();
newCampaignMap["CampaignName"] = campaignName;
newCampaignMap["Owner"] = pInfo.userName;
newCampaignMap["Members"] = 0;
Campaigns.Add(Child(newCampaignMap));
mutableData.Value = Campaigns;
return TransactionResult.Success(mutableData);
InitializeCampaign();
}
Итак, все мои данные добавляются в базу данных, однако моя структура данных выглядит следующим образом.
- Пользователи
- Имя пользователя
- Кампании
- pushID
- 0
- Название кампании
- Имя владельца
- Членов
То, что мне нужно знать, это;как я могу предотвратить размещение дочернего «0» между pushID и тремя добавляемыми мной ключами, чтобы моя структура данных выглядела следующим образом.
- Users
- Имя пользователя
- Кампании
- pushID
- Имя кампании
- Имя владельца
- Участники