在MongoDB中DBREF命令(dbref command in mongodb)

2019-09-22 00:11发布

我是新手到MongoDB的。 我需要参考两个集合使用DBREF做查询和需要查询的特定字段。

意见收集

        { 
          uid:12345, 
          pid:444, 
          comment="blah" 
        },

        { 
          uid:12345,
          pid:888, 
          comment="asdf" 
        },

        { 
          uid:99999, 
          pid:444, 
          comment="qwer" 
        }

用户集合

        { 
          uid:12345, 
          name:"john" 
        },

        { 
          uid:99999,
          name:"mia"  
        }

我可以知道命令如何通过添加两个集合usind DBREF之间的参考插入MongoDB中这些集合? 在UID意见必须参考的用户的UID。

Answer 1:

数据库引用(DBREFS)是用于存储与其他集合ID的约定,但不是由MongoDB服务器支持(即“加入”)的特征。 根据不同的语言驱动程序使用的是访问MongoDB中,可能有以下和DBREFS取有关文件的一些支持。但是,如果你这样做手工这并不涉及额外的查询,是相同的。

因此,寻找与在单独的收藏用户评论的伪代码是这样的:

  1. find({..})的感兴趣的用户
  2. 对于找到的每个用户
  3. ... find({uid:...})该用户的所有评论

根据你的使用情况,您可能要考虑将信息嵌入,而不是链接。 例如, comments收集,实际上可能是更合适的嵌入在里面posts集合(每个post的网站有很多嵌入式的comments )。 嵌入式评论可能包含一些基本的用户信息,如显示名称,以便您不必看这件事的users集合,以呈现页面。

欲了解更多信息,请参阅:

  • 在架构设计MongoDB的文档

  • MongoDB的设计与架构嵌入式,非嵌入式和桶结构



文章来源: dbref command in mongodb