我是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。
答案 0 :(得分:2)
Database References (DBRefs)是用于存储与其他集合相关的ID的约定,但不是MongoDB服务器支持的功能(即“连接”)。根据您用来访问MongoDB的language driver,可能会支持以下DBRef并获取相关文档..但这确实涉及其他查询,就像您手动执行此操作一样。
因此,用于在单独的集合中查找与用户相关的注释的伪代码类似于:
find({..})
感兴趣的用户find({uid:...})
该用户的所有评论根据您的使用情况,您可能需要考虑嵌入信息而不是链接。例如,comments
集合实际上可能更适合嵌入posts
集合中(网站上的每个post
都有许多嵌入式comments
)。嵌入式注释可能包含一些基本的用户信息,例如显示名称,因此您无需在users
集合中查找此内容即可呈现页面。
有关详细信息,请参阅: