I'm building an app that needs to be able to extend facebook graph data.
I'm new to NoSQL storage and i'm looking for help.
Using the graph api, i can retreive a user, since i would like my app to be able to extend several social graph providers, i move every specific facebook keys retreived into a facebook
array subset.
[User] => Array
(
[_id] => 4dd50c139bcb233c0c000000
[name] => Foo Bar
[first_name] => Foo
[last_name] => Bar
[username] => fbar
[location] => Array
(
[id] => 110774245616525
[name] => Paris, France
)
[gender] => male
[email] => fbar@gmail.com
[timezone] => 2
[locale] => fr_FR
[facebook] => Array
(
[id] => 12345678
[link] => http://www.facebook.com/foobar
[verified] => 1
[updated_time] => 2011-05-16T17:30:23+0000
[picture] => https://graph.facebook.com/12345678/picture
)
[created] => MongoDate Object
(
[sec] => 1305807891
[usec] => 0
)
)
- Is this good practice ?
Then i grab his friends, and i want to be able to keep them in sync with my database.
I don't know if i should register each friend as separate users and try to use references, or if i can just add a Friend
subset.
What would have the best performance and the easiest to keep in sync ?
[User] => Array ( [Friend] => Array ( [0] => Array ( [id] => 12345678 [name] => Foo Bar ) [1] => Array ( [id] => 12345678 [name] => Foo Bar ) [2] => Array ( [id] => 12345678 [name] => Foo Bar )
Problem rise to another level with FriendLists, how should i store them ?? embed everything (and have a ton of duplicates in my User) or use reference ? How should i do that ?
I read : http://www.mongodb.org/display/DOCS/Trees+in+MongoDB which is quite helpfull... But i'm still unsure what i should do.
Thanks a lot.