mongodb中的dbref命令

时间:2012-08-30 23:37:31

标签: mongodb mongodb-java mongodb-query

我是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。

1 个答案:

答案 0 :(得分:2)

Database References (DBRefs)是用于存储与其他集合相关的ID的约定,但不是MongoDB服务器支持的功能(即“连接”)。根据您用来访问MongoDB的language driver,可能会支持以下DBRef并获取相关文档..但这确实涉及其他查询,就像您手动执行此操作一样。

因此,用于在单独的集合中查找与用户相关的注释的伪代码类似于:

  1. find({..})感兴趣的用户
  2. 找到每个用户
  3. ... find({uid:...})该用户的所有评论
  4. 根据您的使用情况,您可能需要考虑嵌入信息而不是链接。例如,comments集合实际上可能更适合嵌入posts集合中(网站上的每个post都有许多嵌入式comments)。嵌入式注释可能包含一些基本的用户信息,例如显示名称,因此您无需在users集合中查找此内容即可呈现页面。

    有关详细信息,请参阅: