在NoSQL(MongoDB)中存储/同步Facebook图形
我正在开发一个需要能够扩展facebook图形数据的应用程序 我是NoSQL存储新手,正在寻求帮助 使用graph api,我可以检索一个用户,因为我希望我的应用程序能够扩展多个社交图提供商,我将检索到的每个特定facebook密钥移动到在NoSQL(MongoDB)中存储/同步Facebook图形,mongodb,facebook,graph,nosql,Mongodb,Facebook,Graph,Nosql,我正在开发一个需要能够扩展facebook图形数据的应用程序 我是NoSQL存储新手,正在寻求帮助 使用graph api,我可以检索一个用户,因为我希望我的应用程序能够扩展多个社交图提供商,我将检索到的每个特定facebook密钥移动到facebook数组子集中 [User] => Array ( [_id] => 4dd50c139bcb233c0c000000 [name] => Foo Bar [first_nam
facebook
数组子集中
[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
)
)
- 这是好的做法吗
friend
子集
- 什么样的性能最好,最容易保持同步
[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 )
- 朋友列表的问题上升到另一个层次,我应该如何存储它们??嵌入所有内容(并且在我的用户中有大量副本)或使用引用?我该怎么做
另外:如果你想存储一个图形,那么使用GraphDB-MongoDB通常不太可能是存储图形的正确选择…对于每项任务,都要使用正确的工具。我有一个类似的应用程序,我将朋友存储为其他用户。但请确保您有一个标志,指示该用户是否为应用程序用户,否则数据在某个点上会变得混乱 对于用户:
{
fbid: xxxx,
name : "xxxxx",
......
friends : [ xxxx, xxxx, xxxx ],
is_app_user : true
}
对于每个朋友(非应用程序用户):
当他们也登录时,你也可以为他们设置is\u app\u user:true
PS:别忘了在fbid上添加唯一索引这是一个“嵌入与引用”的问题
这里有一个
这是官方文件。他们是开始研究这些问题的好地方。要存储类似于您的图形,您应该使用图形数据库,而不是DocumentDB。试试看:这是一个文档图nosql,具有两个世界中最好的特性。您的用例最重要的特性是能够在几毫秒内遍历数千个关系!开源和Apache 2许可。似乎很有趣。您使用mongo引用还是在单独的查询中获得朋友?我更喜欢在单独的查询中获得朋友
{
fbid: xxxx,
name : "xxxxx",
is_app_user : false
}