问题标签 [mongoose-populate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
872 浏览

javascript - 如何在异步调用期间填充数组并将其发送到响应对象中

这是我正在尝试做的一个示例,检索 mongo db 中的所有帖子,为每个帖子填充作者,然后使用作者对象从 Cloudinary 检索个人资料图片。

这样做的正确方法是什么?我尝试了多种填充数组并在响应中发送它们的方法,但是由于异步调用,它们在发送 res 之前永远不会运行。

感谢 Dan Moldovan 的解决方案!

0 投票
2 回答
1433 浏览

node.js - Mongoose + 在子文档中填充属性

使用猫鼬,我想在我的主文档的子文档中填充一个属性。这是我的模型:

我正在尝试做的是在填充设备的情况下获取通知。

我试过这个:

我得到了这个

任何人都可以告诉我我做错了什么吗??谢谢你们的帮助:)

0 投票
2 回答
4481 浏览

node.js - Mongoose,阵列模型上的深度种群

我想深入填充一个可能过于复杂的模型

但是,当我使用普通人群时,它似乎不起作用。我现在安装了 deep-populate 并使用以下内容:

我想知道是否有更简单的方法来完成一组填充的主题。

0 投票
0 回答
377 浏览

arrays - 使用 MongoDB + Node.js 在数组数组中填充对象

我想用数组数组中的一个对象填充我的架构中的一个对象所以我需要检查两个 ID。每个阵列一个。

我想用类别填充一个名为 Alpha 的对象:A

当我尝试这个时:

它返回所有类别,不仅是 A。

我也试过这个,但它不起作用

有任何想法吗?

0 投票
1 回答
1156 浏览

node.js - 实例方法中的猫鼬种群

我有一个参考其他文件的模型。我想在该模型中有一个方法可以处理引用模型中使用的数据。

如上面的代码示例所示,retrieveChilds 函数应在当前 Schema 上执行 deepPopulate 函数。这是可能的还是应该在模型之外发生?(这有时会导致重复的代码)

0 投票
4 回答
6162 浏览

node.js - 在后钩中间填充猫鼬中的“查找”

我有一个文章架构,用于用户在我的网站上发布的文章。它引用了用户集合:

我想在所有 find/findOne 调用上添加一个 post hook 来填充参考:

由于某种原因,挂钩中返回的文档没有填充方法。我是否必须使用 ArticleSchema 对象而不是在文档级别进行填充?

0 投票
2 回答
1468 浏览

mongoose - 在猫鼬模型中将对象添加到人口

我是 Mongoose 的新手,我对人群有所了解。我有看起来像......

当我查询项目时,我使用 .populate('topics') 并且它工作正常。填充项目时,主题属性包含实际对象而不是引用。

PS The Topic 没有项目参考(我发现很难在 MongoDB 中维护互惠关系)。

我的问题是:当我想向项目添加主题对象时。我是添加 ObjectId 还是对象本身?

0 投票
1 回答
5078 浏览

mongoose - 我如何在猫鼬中聚合和填充

我在填充“主要”集合时遇到问题,分组效果很好,但我真的不知道如何填充,甚至不知道聚合后如何 .find。我相信我在这里左右进行模型铸造:

欢迎和赞赏任何建议。

0 投票
1 回答
314 浏览

node.js - 基于日期清除 MongoDb 中的数据逻辑

我无法想到以下问题的逻辑。

考虑我想将数据存储在称为数据包的集合中的猫鼬中,我可以在其中存储不同用户的数据。一旦达到某个阈值(例如 10 天),我想清除数据。我们知道 Mongoose 默认为我们提供 CreatedAt 和 UpdatedAt 字段。

假设我的数据是在 2015 年 2 月 22 日创建的,当前日期是 2015 年 2 月 24 日。我的 PurgeData 编号(用于清除数据的列)为 2(两个日期之间的差异)。每天我都想通过比较当前日期和 CreatedAt 日期之间的差异来更改 PurgeData 数字的值。我想每天安排这个操作,删除已经达到阈值的数据,这样我就节省了内存空间。有人可以帮助我了解它的逻辑和事件的安排吗?

提前致谢

0 投票
1 回答
900 浏览

node.js - 在猫鼬中深度填充自引用模式

我在猫鼬中有一个自引用员工模式。

一个员工可以是经理,也可以有多个报告人。如果 manager 为 null,则该员工被视为顶级员工。

我需要基于这个模型创建层次结构。我正在努力生成所需的输出。

到目前为止,我已尝试使用popluate()和mongoose -deep-populate模块,但我无法获得所需的输出。我想知道它是因为我有一个自引用模型。或者可能是我没有正确使用这两个选项。

这是我用deep-populate模块尝试过的。它似乎正在填充reportee 模型,而不是reportee 模型的repotree。简而言之,它仅填充 1 级记录

请建议我如何检索所有员工层次结构?