递归关联中的Mongoose反向查找

时间:2014-10-13 22:01:30

标签: recursion mongoose associations schema

我正在努力实现用户跟随用户

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var UserSchema = new Schema({
  name: String,
  following: [{
    type: Schema.Types.ObjectId,
    ref: 'User'
  }]
});

var User = mongoose.model('User',UserSchema);

所以现在,作为我想要的用户,请获取我的粉丝列表。

1 个答案:

答案 0 :(得分:0)

您可以运行复杂的查询来吸引关注者,但是在文档中存储关注者也要容易得多:

var UserSchema = new Schema({
  name: String,
  followers: [{
    type: Schema.Types.ObjectId,
    ref: 'User'
  }],
  following: [{
    type: Schema.Types.ObjectId,
    ref: 'User'
  }],
});

这需要对更新进行更多的工作,但是它会在读取时获得回报(这种更新比更新更频繁)。