我是MongoDB的新手。我设计了一个跟随者/跟随Twitter风格的应用程序
我的架构如下
UserSchema:
username:'Alex',
pass:'salted',
likes:'200'
FollowSchema
uid : {
type: Schema.ObjectId,
ref: 'User'
},
fid : {
type: Schema.ObjectId,
ref: 'User'
}
首先,这是一个可扩展的设计吗?
如果是这样,我希望获得除登录用户以外的所有用户,并查找每个用户是否跟踪登录用户。
我正在考虑聚合或mapreduce但不确定如何接近。感谢任何帮助。
THX
答案 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);
}
});