加入mongoDB

时间:2016-05-04 06:29:41

标签: javascript node.js mongodb

我是MongoDB的新手。我设计了一个跟随者/跟随Twitter风格的应用程序

我的架构如下

UserSchema:

    username:'Alex',
    pass:'salted',
    likes:'200'

FollowSchema

    uid : {
        type: Schema.ObjectId,
        ref: 'User'
    },
    fid : {
        type: Schema.ObjectId,
        ref: 'User'
    }

首先,这是一个可扩展的设计吗?

如果是这样,我希望获得除登录用户以外的所有用户,并查找每个用户是否跟踪登录用户。

我正在考虑聚合或mapreduce但不确定如何接近。感谢任何帮助。

THX

2 个答案:

答案 0 :(得分:2)

是的,这看起来是一个很好的方法,根据这篇文章:

mongo db design of following and feeds, where should I embed?

以及mongodb网站:

http://blog.mongodb.org/post/61499097398/tracking-twitter-followers-with-mongodb

答案 1 :(得分:1)

在mongodb中没有连接操作。在mongoose中你可以使用populate()。

http://mongoosejs.com/docs/populate.html

Follow.find({}).populate('uid').populate('fid').exec(function (e, d) {
   if(e){
      res.json(e);
   }
   else {
      res.json(d);
   }
});