问题标签 [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 回答
236 浏览

mongoose - 猫鼬用参考保存模型

我有一个看起来像这样的模型

当用户注册时,我需要在保存/创建用户以获取这些 ObjectId 之前创建位置和附件对象。我觉得我这样做的方式可能是错误的,这就是为什么它令人困惑或者我缺少一些东西。

我的问题是如何在保存用户集合之前保存这些集合,以便我可以将这些引用包含在我的用户集合中。

类似于这个问题,除了多个参考。

0 投票
1 回答
2754 浏览

node.js - MongooseJS 使用多个目标字段填充

我有以下两个架构:

我在任何地方都找不到的是猫鼬如何确定从哪里获取“消息”填充 - “发件人”字段或“收件人”字段......

是一个吗?两个都?这个可以配置吗?即我可以创建单独的“incomingMessage”和“outgoingMessages”字段吗?如何创建?

10 倍。

0 投票
1 回答
946 浏览

node.js - Mongoose 静态方法填充数组

我有一个猫鼬模式,例如:

我正在尝试实现一个静态方法,该方法返回具有特定标签的帖子。就像是:

问题:

  1. 我可以在静态方法中使用填充吗?
  2. 检查“标签”是否包含“标签”的最佳方法是什么?

谢谢您的帮助。

0 投票
2 回答
2771 浏览

node.js - 对 mongoose 3.x 填充文档进行排序的正确语法

我有两个 MongoDB 集合Customer并且User1:1关系。我正在尝试使用Mongoose Population查询这两个文档并按User.name.

下面没有任何工作。我的猫鼬是 3.8.19。

我发现如何在查找请求中对填充的文档进行排序?,但对我来说没有成功。

在 SQL 中将类似于以下内容:

0 投票
1 回答
3302 浏览

node.js - 猫鼬嵌套/深度填充

我知道这个问题已经被问过很多次了,但我对 mongodb/mongoose 有点陌生!目前我正在为医疗软件开发 MEAN 堆栈。以下是我的架构:

Nested Mongoose Populate:如何在 Appointments.find() 上实现嵌套的猫鼬填充,Appointments.find().populate('doctorids') 应该填充 Doctors 数组,而 Doctors 数组反过来应该填充每个医生指向的用户。根据https://github.com/LearnBoost/mongoose/wiki/3.6-Release-Notes#population他们添加了 Model.Populate!所以我尝试了这个,但它没有填充医生ID中的用户

 

[已编辑:将其他问题移至新帖子 @ https://stackoverflow.com/questions/27412928/mongoose-nested-populate-sort-search-referenced-attributes ]

0 投票
0 回答
1757 浏览

node.js - 如何使用 mongoose 在 mongodb 中构建多级嵌套

多年来,我一直是 sql 数据库用户,我无法弄清楚如何最好地使用 mongoose 在 mongodb 中构造我的数据。作为一个实践项目,我正在整理一个基本的 cms,并且我坚持如何最好地构建我的页面模式,以便允许嵌套到多个级别,同时保持访问父母和孩子的能力,并在任何级别编辑任何页面。

我的结构将是这样的:

我已经将一个基本的单级模式放在一起作为起点,我可以轻松地查询和更新它:

当弄清楚如何添加子页面时,问题就来了。来自 sql 我的直觉是添加一个 parent_id 字段,但我知道这是一种非常平淡的思考问题的方式,可能不符合 nosql 的精神。

阅读我的第一次尝试是使用填充(http://mongoosejs.com/docs/populate.html。为此,我尝试在我的方案中添加一个额外的字段。

起初这似乎是正确的方法,直到我开始考虑递归种群的问题。首先,仅使用一个模式填充意味着大量重复,而且,为了使我的结构正常工作,我必须能够允许设置和检索嵌套到任意数量级别的内容。这意味着我需要某种递归填充。这听起来真的很痛苦,事实上,当我尝试寻找解决方案时,我遇到了这个问题,这清楚地表明这样做会导致糟糕的表现。

猫鼬递归填充

第二个问题是关于使用树文档,但我很难理解这种方法。我尝试搜索与此主题相关的更多问题,但通常答案只是指向预构建的 npm 打包解决方案。这些可能有利于快速启动和运行,但我的项目纯粹是为了学习 nosql 中的结构,所以我不仅在寻找最佳解决方案,而且还要理解它。

有人可以建议如何在我的案例中最好地构建数据,和/或为我指明一些文档的方向,这些文档将使我走上正轨。

0 投票
2 回答
283 浏览

node.js - Mongoose 填充参考列表

猫鼬 (v3.8) + Node.js

我有一个名为“产品”的模型,其中包含以下字段:

Users模型还有许多其他领域。

要添加赞成票,我这样做:

我正在尝试填充该upvoted_by.user_id字段以使其包含相应的用户数据。

我试过这个,但它似乎不起作用:

知道出了什么问题以及如何解决吗?

0 投票
4 回答
32042 浏览

node.js - Mongoose 填充嵌套数组

假设以下3个模型:

当我查询 Cars 时,我可以填充以下部分:

猫鼬有没有办法在所有汽车的嵌套零件对象中填充 otherIds。

我可能可以遍历每辆车并尝试填充:

问题是我必须使用像 async 这样的库来为每个库进行填充调用,然后等到所有操作都完成然后返回。

可以不循环所有汽车吗?

0 投票
1 回答
163 浏览

node.js - Mongoose:3 路文件加入

我正在学习猫鼬,需要一些帮助。我有 3 个集合,在一次 API 调用中,我想创建 3 个相互引用的文档;下面的“加入”:

  • 用户 - 需要参考啁啾
  • 视频 - 需要参考啁啾
  • 啁啾 - 需要参考用户和啁啾

问题:我知道我可以执行 model.create() 并在每个回调中传入新文档,然后更新到相应的文档,但我想知道是否有更清洁的方法?

对不起,如果我不清楚这个问题。请问有什么不明白的地方。

代码

0 投票
1 回答
696 浏览

node.js - Mongoose 填充特定的数组实例

我尝试了很多组合都没有成功,所以需要你的帮助。

考虑您有文档架构和版本

数据看起来像这样

我只想填充最新版本的文档..说版本 2..不是所有子版本..

我试过这个但需要帮助..