Creating and appending arrays in Firebase-ios-swift

有些话、适合烂在心里 提交于 2020-01-11 11:32:54

问题


How to create an array in the firebase 3.0 and perform the functions of append and delete in the array

This is the data structure i am looking for:-

1-UserIds
  --0.)   12345
  --1.)   678910
  --2.)   1112131415
2-UserProfile
  --0.)  12345
         -0.)  userName : "Rayega"
         -1.)  friends : ["Julian","Mary","Powers"]
  --1.)  678910
         -0.)  userName : "Morse"
         -1.)  friends : ["Polme","Mary","Finn"]
  --2.)  1112131415
         -0.)  userName : "Tanya"
         -1.)  friends : ["Ester","Hulio","Julian"]

i want to create an array like UserIds and like friends in every child of my user profile and be able to append and delete data from those arrays.I know how to create a dictionary but how would i go around storing an array in that dictionary and be able to perform append and delete functions in it.

I am storing UserIds array because i need to display info of every user in a tableView.


回答1:


As the links provided by Ivan explain, arrays are seldom a good idea in a database where multiple users are concurrently adding/changing the data. There also seems to be no need to store the friend list as an array. It's actually more efficient to store it as a set of user ids. That way, you're automatically guaranteed that each user id can be in the set only once.

Users: {
   12345: "Rayega",
   67890: "Morse",
   24680: "Tanya",
   13579: "Julian",
   86420: "Mary",
   97531: "Powers"
},
UserFriends: {
   12345: {
      13579: true,
      86420: true,
      97531: true
   },
   67890: {
      86420: true,
      24680: true,
      97531: true
   }
}

That last structure is called an index and is covered in the Firebase documentation under creating data that scales.




回答2:


There is no native support for arrays in Firebase. But you can store the objects as a dictionary with an integer as key, and increment the key for every object you store. Then when you read from Firebase, the server will render the data as an array for you.



来源:https://stackoverflow.com/questions/38419165/creating-and-appending-arrays-in-firebase-ios-swift

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!