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

node.js - 猫鼬子填充不起作用

这是我的架构:

此代码有效并成功填充 source_pages :

但如果我也想填充产品:

这个错误:

TypeError:无法在搜索时调用未定义的方法“路径”(/home/sina/rhino2/node_modules/mongoose/lib/model.js:2088:28)在搜索(/home/sina/rhino2/node_modules/mongoose/lib/ model.js:2107:22) 在 Function._getSchema (/home/sina/rhino2/node_modules/mongoose/lib/model.js:2114:5) 在填充 (/home/sina/rhino2/node_modules/mongoose/lib/ model.js:1719:22) 在 Function.Model.populate (/home/sina/rhino2/node_modules/mongoose/lib/model.js:1702:5) 在 cb (/home/sina/rhino2/node_modules/mongoose/ lib/query.js:1690:11) 在 /home/sina/rhino2/node_modules/mongoose/lib/utils.js:414:16 在 /home/sina/rhino2/node_modules/mongoose/node_modules/mongodb/lib/mongodb /cursor.js:158:16 在 commandHandler (/home/sina/rhino2/node_modules/mongoose/node_modules/mongodb/lib/mongodb/cursor.js:643:16) 处为空。(/home/sina/rhino2/node_modules/mongoose/node_modules/mongodb/lib/mongodb/db.js:1641:20)

0 投票
2 回答
120 浏览

mongodb - 如何制定以下 Mongoose 查询?

这是我的架构:

基本上 aA有一个容器数组,这些容器引用了 a B,并且 aB有一个引用 aC和 a D

现在我有了 a 的 id,C我需要sD使用的一组active A。这甚至可能吗?我应该以某种方式更改架构吗?

编辑:这里的真正架构

0 投票
1 回答
2506 浏览

node.js - 使用 NodeJS/Mongoose 的 Eager Fetch 具有多关系

我有以下型号:

我想在我的控制器中做的是检索所有项目及其各自的领导者

项目控制器.js:

但这只是给出了只有领导者 ID的项目列表

有没有办法让猫鼬热切地去找领导

0 投票
1 回答
1532 浏览

node.js - 猫鼬填充 - 数组

有人可以帮我解决这个模式的人口吗?我需要通过他们的 userId 填充员工数组。

我尝试使用此查询,但没有成功。

0 投票
2 回答
770 浏览

node.js - 在某些使用 populate() 的情况下,mongoose 虚拟属性不会填充

我正在尝试填充job.creator并使用User对象 ( user.profile) 中的虚拟属性来仅为作业创建者提供公共信息。

当我尝试.profilejob.creator对象中获取虚拟属性时,我缺少一些值:

它还缺少job.creator.profileImageUrls用户对象的虚拟属性。

0 投票
1 回答
92 浏览

mongodb - 如何根据引用键检索架构的其他详细信息

我有一个项目正在进行中。我有一个评论模式、一个喜欢模式和一个博客模式。所有这三个都被声明为单独的模式,但喜欢和评论模式随后作为子模式嵌套到博客模式中,即评论:[CommentSchema]。现在我有一个页面,当有人点击博客时,它会显示所有评论以及博客。这是获取博客 Blog.findById(id).populate('user', 'username').exec(function(err, blog) 的代码。现在在 comments 数组中有一个名为 commOwner 的键,它引用 objectid从另一个名为 user 的模式中,就像博客模式也有一个参考键,正如您从代码中看到的那样。我正在尝试显示基于评论模式中的参考键 commOwner 发表评论的每个人的 gravatar 和用户名但我不 不知道该怎么做。我还希望能够在我为博客所做的相同代码中填充那些在博客上发表评论的人的用户名和 gravatar。请有人可以帮我解决这个问题。下面是我所有模式的代码

0 投票
1 回答
52 浏览

node.js - 基于 _id 字段操作 ref'd mongo 记录

好的,所以我在 MEAN 应用程序(节点、猫鼬、mongo)中有一个非常简单的数据库设置,其中我有 Book 记录和用户记录。一本书有一个所有者,并且可以有任意数量的共享用户,这些用户存储在一个名为 sharedWith: 的字段中的数组中。最初,我使用电子邮件地址作为 _id 字段来存储用户记录。我现在意识到这对我来说是一个愚蠢的举动,因为如果有人想更改他们的电子邮件地址,它实际上会将他们从他们的书籍中删除。

该应用程序尚未上线,因此这不是一个致命的错误。

我的问题是,一旦我将用户文档恢复为使用 _id 的原始哈希值,并将这些值存储在书籍文档中的 Owner 和 sharedWith 字段中,我是否必须查询每个哈希才能检索实际可用的用户数据?

我知道 mongoose 有一个 .populate() 方法可以解析子文档,但是对于插入它们呢?我会将用户发布为电子邮件地址,然后查询每个用户并存储生成的哈希值吗?我可以手动执行此操作,但我想确保在数据库本身中没有一些秘密的 mongo-sauce 可以执行此操作。

谢谢!

0 投票
2 回答
518 浏览

node.js - 如何在meanjs中填充当前用户的朋友?

我想在 angularjs 页面中显示经过身份验证的用户的朋友。

我正在使用带有 nodejs 的猫鼬。(MeanJS)

如何在meanjs中填充当前用户的朋友?

谢谢。

0 投票
0 回答
96 浏览

javascript - MongooseJS 在引用数组中填充引用数组

我有一个猫鼬对象如下:

现在我做类似的事情:

我发现 Items 填充得很好,但每个项目中的 settings.tools 不是。我怎样才能让它填充?

0 投票
1 回答
1118 浏览

node.js - Mongoose.js 条件填充

我正在处理一些旧数据,其中一些架构具有“混合”类型。

基本上有时一个值将是一个引用的 ObjectID,但有时它会是一些文本(超级糟糕的设计)。

由于出现非 ObjectID 的次数,我无法正确填充此数据。

所以,对于我的实际问题:是否可以创建一个有条件的填充(在集合上)?我需要能够告诉填充跳过这些other值。