首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Mongodb,从引用中获取完整对象

Mongodb,从引用中获取完整对象
EN

Stack Overflow用户
提问于 2014-08-21 08:02:54
回答 2查看 188关注 0票数 0

是否有任何东西允许我们从Mongodb的引用中访问完整的对象?

例如,我有一个User和一个Type集合。用户有一个Type,它与对Type对象的引用一起存储。

是否有可能使用Type访问完整的User对象,而不延迟加载它?

感谢所有人

EN

回答 2

Stack Overflow用户

发布于 2014-08-21 08:10:32

是的,如果你喜欢使用mongoose,那么你可以使用它的populate()函数:

填充的路径不再设置为其原始_id,它们的值被替换为从数据库返回的mongoose文档,方法是在返回结果之前执行单独的查询。

http://mongoosejs.com/docs/populate.html

因此,对于您的User,在执行查询以派生所述用户时,将设置Type实例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
User.findOne({ username: 'Fred Bloggs' }).populate('type')
  .exec(function (err, user) {
    ...
票数 1
EN

Stack Overflow用户

发布于 2014-08-21 20:14:30

MongoDB不做联接。如果没有多个操作,就不可能获得将完整的Type对象嵌入到User文档中的信息(在您的术语中,我猜您必须“延迟加载”它)。Mongoose populate()函数只负责执行额外的查询并将id替换为文档-它可以执行多个查询,就像任何其他执行相同操作的客户机一样。您应该仔细考虑执行哪种类型的查询,以确定将Type对象反规范化为User文档是否是一个好主意。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25421163

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文