我想在我的应用程序中构建出一个好友组件。猫鼬模式/查询
对于来自MySQL背景的Mongo/Mongoose,我还是比较新的。
我在这里要做的是访问用户的个人资料,如果他们的个人资料有私人设置,然后检查该用户是否有用户访问他们的网页作为朋友。
假设我有一个用户模式
var UserSchema = new Schema({
username : String,
friends : [{ id: { type: Schema.Types.ObjectId, ref: 'User'}, status: Number }],
});
var User = mongoose.model('User', UserSchema);
User.findOne({username: 'req.params.username', 'friends.id': req.session.user.id}, function (err, user)
if(user){
user.isFriend = true;
}
});
我觉得好像这只是查找与req.params.username任何的用户名或与req.session.user.id任何标识,而不是找用户使用该用户名并查看req.session.user.id是否在该用户的朋友阵列中。
有没有更好的方法来做到这一点?
在MySQL中,它可能类似于从'users'中选择username ='something',然后检查结果以查看该结果的朋友数据中是否存在id。