Python 在MongoEngine中有跟随者和跟随者作为参照场

Python 在MongoEngine中有跟随者和跟随者作为参照场,python,mongodb,mongoengine,Python,Mongodb,Mongoengine,我在一个网站上工作,我有两个追随者和追随者作为两个参考字段连接到一个用户。这是不是太过分了?我觉得这可能会使查询变得更容易,但从长远来看,这只是自找麻烦吗 比如: class User(Document): name = StringField() followers = ListField(ReferenceField('User')) following = ListField(ReferenceField('User')) 我不确定这种关系的最佳实践

我在一个网站上工作,我有两个追随者和追随者作为两个参考字段连接到一个用户。这是不是太过分了?我觉得这可能会使查询变得更容易,但从长远来看,这只是自找麻烦吗

比如:

 class User(Document):
      name = StringField()
      followers = ListField(ReferenceField('User'))
      following = ListField(ReferenceField('User'))
我不确定这种关系的最佳实践是什么,也不确定在查询数据库时是否更容易将其设置为ReferenceField和filter。这将防止follower和following列表不匹配的情况发生,但似乎也会使数据库查询更加复杂

我在mongodb网站上看到了这篇文章,这很有帮助,但我觉得它并没有直接回答我的问题