欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

[教程]MongoDB 从入门到进阶 (数据检索及统计

程序员文章站 2024-01-12 11:55:04
...

[教程]MongoDB 从入门到进阶 (数据检索及统计 - 微博数据的整理) 下载地址: GitHub: https://github.com/magicdict/MagicMongoDBTool 这次讲解一下MongoDB的数据统计能力。 作为统计数据,这里我采集了杨幂的微博上的粉丝作为实验数据。由于最多只能一天

[教程]MongoDB 从入门到进阶 (数据检索及统计 - 微博数据的整理)

下载地址:

GitHub: https://github.com/magicdict/MagicMongoDBTool

这次讲解一下MongoDB的数据统计能力。

作为统计数据,这里我采集了杨幂的微博上的粉丝作为实验数据。由于最多只能一天采集5000个粉丝的资料,所以,数据也只有5000条。

同时,这些资料虽然来自于User这个类,但是没有牵涉到层次结构,无法体会阶层型数据库的威力,服务器空间,也是蛮遗憾的。

下面的代码是用来采集数据的。展示这段代码,一来说明一下如何正确的使用新浪微博的API,二来说明一下,MongoDB就像一个ORM一样,直接将对象保存到数据库中了。

当然新浪微博的API你可以去这里下载,

API函数有些蛮坑人的地方,虽然方法参数中,获取粉丝资料数量可以是Int32,不过,你真的设置一个大于200的数字,程序会报错,参数类型不匹配。

我原来以为真的是参数类型的问题,但是编译没有报错。。。。最后发现,还有200的限制。。。。。既然你限制了,你就写成Byte啊。。。坑爹。。。。

btnGetFollowers_Click(object sender, EventArgs e) 2 { 3 var Srv = SystemManager.GetCurrentServer(); 4 if (Srv != null) 5 { ); 7 var oauth = new NetDimension.Weibo.OAuth(txtAppKey.Text, txtAppSrect.Text); 8 bool result = oauth.ClientLogin(txtWeiBoUsr.Text, txtWeiBoPsw.Text); { 11 var Sina = new NetDimension.Weibo.Client(oauth); 12 var uid = Sina.API.Account.GetUID(); ); 14 int UserCount; 15 int TotalCount; 16 UserCount = 0; 17 TotalCount = 0; 18 19 NetDimension.Weibo.Entities.user.Collection followers; { 22 followers = Sina.API.Friendships.Followers(txtSupperStarID.Text, "", 150, UserCount, true); 23 if (TotalCount == 0) 24 { 25 TotalCount = followers.TotalNumber; 26 } 27 foreach (var follow in followers.Users) 28 { 29 col.Insert(follow); 30 UserCount++; 31 } 32 } while (UserCount TotalCount);