微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

代表Mongodb上的“问答”功能

如何解决代表Mongodb上的“问答”功能

|| Quora上的“要求回答”功能与我面临的技术问题类似。 本质上,一个用户(建议)要求另一个用户(建议)回答一个问题(问题)。 在mongodb中表示此架构的最佳方法是什么? 我想到了这样的事情:
User class stores an array called suggested questions,which stores a pair of values
Each value is \"suggester_userid | question_id\"
从检索角度来看这将是有效的,但似乎破坏了适当的架构设计。 什么是做到这一点的好方法?     

解决方法

           本质上,一个用户(建议)询问   (建议)另一个用户回答一个   问题(question)。 不知道我了解这个问题,但收集
{ suggester:...,suggested:...,question:...}
可能很好-可以对索引提示和建议进行索引。     ,        我的应用程序中有类似的架构,我使用了不同的集合,称为“建议” 看起来像这样(Ruby Mongoid类)
class Item
  include Mongoid::Document
  include Mongoid::Timestamps
  include Mongoid::Paranoia

  field :Suggested_id,:type => BSON::ObjectId
  field :Question_id,:type => BSON::ObjectId

  embedded_in :user
end
这最终将转化为
User
 |
  _  Name
  _  Other fields
  _  Suggestions (embedded doc)
        - Suggested_id
        - Question_id
如果您认为建议限制可能超过mongo文档的大小,则可以将嵌入式文档更改为DbRef文档,因此每个用户文档将有一个关联的建议文档。因此,单个建议文档将具有user_id和用户提出的所有建议作为嵌入式文档(项目)
 Suggestion
   |
    _ user_id
    _ items
        |
          _ suggested_id
          _ Questionid
        |
          _ suggested_id
          _ Questionid
希望这可以帮助     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。