问题标签 [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 投票
0 回答
491 浏览

mongodb - 填充文档子数组的猫鼬子数组

我有一个室友组猫鼬模式,

我有一个这样的用户猫鼬模式,

我有一个实用程序提供者猫鼬模式,

我想查询我的室友组架构并填充所有子数组,所以我会得到这样的结果。

我试过了

任何帮助都会很棒!

0 投票
3 回答
5372 浏览

mongodb - 猫鼬如何在幕后工作

有人可以告诉我如何

我有一个收藏

当我执行:

在后台这实际上是对 MongoDB 执行两个查询以返回所有项目“j”吗?

我对填充工作没有任何问题,我担心的是任务的性能影响。

谢谢

0 投票
0 回答
1563 浏览

node.js - 猫鼬种群:CastError:在路径“_id”处为值“[object Object]”转换为 ObjectId 失败

在填充明显有效CastError的嵌套 ObjectId 引用(值)时,在 Mongoose 中运行,以致在保存到架构时它们没有被阻止。{}

有兴趣在服务器端解决此问题以防止将来出现格式错误的数据,但是,我知道不从客户端保存这些值将是一个好主意。一个空对象可以保存到 Mongoose 模式中,type: mongoose.Schema.Types.ObjectId然后抛出一个CastErrorusing 人口这一事实是我的主要关注点。

示例数据:

示例方法:

结果错误:

这可以被认为是猫鼬中的一个错误吗?

编辑:

Mongoose 允许{}保存到上述模式。

示例架构:

方法处理 PUT:

已确定 Mongoose 不允许{}保存为 ObjectId 类型。保存新文档/处理 POST 时尚未测试过这样做。

0 投票
1 回答
51 浏览

javascript - 使用 Mongoose 在所有现有集合中查找引用文档

我有 3 个系列:

事件:

帖子:

注释 :

创建帖子或评论时,还会在集合“events”中创建一个文档,该文档具有名为“_reference”的属性。此“_reference”将保存评论或帖子的 ObjectId。

然后我需要恢复集合“事件”中每个文档中引用的所有文档(保存在其他集合中;即帖子和评论)。

我使用了填充方法,但这只允许我在需要签入所有现有集合时签入一个集合。

Bellow 是我如何在 mongoose 模型中定义参考属性的示例:

提前致谢 !

0 投票
1 回答
553 浏览

mongoose-populate - 猫鼬填充不同的数据库

我的程序中有两个数据库。一个用于保存用户和角色,一个用于其余部分。

1)我的模型用户有对角色的引用。所以我可以通过执行以下操作来填充角色:

这很完美,我可以得到一个用户和他的角色。

2) 当我尝试做同样的事情,模型连接到另一个数据库时,我得到了臭名昭著的错误:

“MissingSchemaError:尚未为模型注册架构......”

这是我在模型使用不同连接时对模型进行编码的方式:

3)这是我在查询中“填充”某些字段(以及因上述错误而失败的字段)的操作:

当然这是在另一个“js”文件中;为了导入我的模型,我做了我的“要求”等;等等

正如我之前所说,我可以在模型使用“默认”猫鼬连接时进行填充。

我应该如何纠正这个问题的任何想法将不胜感激......我在这里遗漏了一些明显的东西吗?

谢谢和再见...

0 投票
2 回答
1199 浏览

mongoose - Mongoose 的 Schema 之间有很多关系

我知道这个问题之前已经提出过很多次,而且 Mongo 没有那个确切的“有很多”联系,但到目前为止我未能在两个模式之间建立联系。这是我所拥有的:

用户模型(user.js)

并发布架构(post.js)

我使用模式人口,它与 post 完美配合:他们每个人都有所有者。但是,它不适用于用户。我希望能够检索显示属于他们的帖子的用户列表。在 routes.js 我定义了一个对数据库的 api 调用

但是,在 shell 和客户端 user.posts 上(毫不奇怪)都返回空数组。如何正确绑定这两个模型?

0 投票
2 回答
467 浏览

mongoose - Mongoose - 子文档,不能手动填充/设置参考字段

我有一个带有子文档的架构,如下所示:

现在说我检索子子文档并且我已经从数据库中检索了“发件人”,我不能手动设置它,这就是我的意思:

我希望以上内容基本上可以自己手动填充,因为猫鼬似乎不支持填充单个子文档实例(如果我错了并且有办法,请纠正我)。

我知道它可以填充整个事件数组,但我只需要为一个实例执行此操作,不需要填充数组中的所有事件的开销。

0 投票
0 回答
697 浏览

angularjs - 如何注册和使用 mongoose-deep-populate

好的。所以我正在尝试对我的mongoose模型进行一些嵌套填充。而且我发现这Mongoose-Deep-Populate是嵌套解决方案最简单的修复之一,但是,尽管看起来很简单,但我无法弄清楚如何正确注册插件。

我正在使用一个angular-fullstack项目,只是添加npm installdeep-populate插件。然后我进入我的模型并添加了这个:

entries如您所见,在我的模型中可以有多层嵌套。所以为了找到它们,我写了这个:

但是,这不起作用。而且我很确定我做错了什么。我在网上查了一下,但似乎无法找到一个可以澄清我的错误的例子。现在我来找你们,我的大师们,为我解决我的烦恼。

0 投票
1 回答
48 浏览

javascript - 如何在嵌套文档中填充对模型的多个引用?

我有一个需要填充的大型嵌套文档。

我如何填充security所有这些领域?我在下面尝试过这段代码,但它不起作用。

0 投票
0 回答
308 浏览

node.js - 在 Mongoose 的聚合调用中填充引用文档的字段值

我有两个基本模式用户课程

//用户模型

//课程架构

以及用于存储每个用户的课程进度的UserCourseProgress模式。

现在我必须在课程级别上通过 UserCourseProgress 模式汇总结果,以便我这样显示我的结果: - {Course Name}( {No_Of_Users_taken_Course} ) [例如 Course A (15) ]

现在想通过其引用从课程模式中填充课程标题,但是在通过聚合运算符列表(此处)之后。我无法找到这样做的方法。

你能建议任何方法来填充其他集合中的数据吗?