问题标签 [minimongo]

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 回答
316 浏览

javascript - Convert nested document collection to model tree structure with parent references

I need to convert a collection with nested documents to a model tree structure with parent references. So this is how my structure looks like:

As you can see, there is a group array, which has also a data array. Now I need a main document like this:

And the next child elements, which would be:

At least the data elements, which are children of the group-elements:

So my attempt would be something like this:

1) I don't know how to do that in a better way

2) And I don't know how to save the result back to the collection

0 投票
1 回答
35 浏览

javascript - 使用动态变量访问 Meteor 中另一个变量的值?

因此,出于理智的目的,我试图使我的代码更加模块化(并且因为它似乎比编写相同的代码五种以上不同的方式更有效)。

但是,由于我的 JavaScript 知识显然缺乏,我在这方面遇到了困难。我有一个购买各种单位类型的方法调用。我想检查玩家是否有足够的特定类型的单位 citizens,或者soldiers在训练更高级的类型citizen.workerssoldier.specific. 增加更高级的类型并不是我要解决的问题。我只是想确定基本单元是否以最小数量存在。

我目前使用的不起作用。当我希望它默认为“公民”时,类型变量没有评估,而是作为“类型”进行。我在 2 个地方使用该变量,用于评估目的的 if 语句和在数据库更新中以减少该特定字段的数量。

当前代码:

到处搜索,但没有找到我正在寻找的东西,甚至没有找到我可以开始并开始将其应用于我需要的东西。任何帮助都会很棒。

编辑:是的,我意识到我错误地为 javascript 使用了默认值。我已经在我的代码中修改了它。大卫韦尔登回答的计算值是我更具体地追求的。

0 投票
1 回答
161 浏览

javascript - 即使数据在那里,findOne 也会抛出 undefined

我是 Meteor 的新手,所以我一直在玩,现在我遇到了这个问题。

我正在使用 React Router 尝试显示基于 URL /(:userId) 的主题。如果 URL 中没有插入 userId,则应显示当前用户的主题,如果没有当前用户,则应显示默认主题。

它在随机工作。有时我得到正确的主题,有时在读取 themeColor 时它会抛出 undefined 即使数据在那里。我可以通过 console.log 看到它总是得到正确的 ID,但 findOne 仍然可以抛出未定义的。当我更改 URL (/xyz) 并返回到默认 URL (/) 时,它会特别发生。

我通过控制台验证了 userId 是 themeColor 和 themeTextColor 的实际所有者。

我正在使用 React、React-router、自动发布。我删除了不安全的。

0 投票
2 回答
413 浏览

meteor - 可以从控制台找到所有客户端集合吗?

我有一个 meteor.js 应用程序,我想看看所有客户端集合中包含哪些信息。大约有 20 个客户端集合,我知道我可以一个一个地访问它们并让它们返回他们的文档,如下所示:

但我想知道是否有一种方法可以获取客户端上的所有流星.js 集合并循环它们。谁能建议一种方法来做到这一点?

0 投票
5 回答
517 浏览

angularjs - 从minimongo查询大量记录卡死浏览器

我正在angular-meteor中为管理员构建一个页面。

我已经发布了一个集合中的所有记录:“ posts ”,并且已经订阅了前端的所有记录。

在控制器中,如果我从 minimongo 中选择所有记录的游标,它可以正常工作,例如:

但我想显示分页,所以我想要一次有限的记录,比如:

它与 minimongo 中的查询卡住了。浏览器挂起。

posts ”集合仅包含 500 条记录。当我有 200 条记录时,它运行良好。

谁能告诉我我的代码和概念有什么问题?

编辑:

好的!当我像这样从查询中评论$sort行时,它运行良好:

但我需要对记录进行排序。那我现在该怎么办?

编辑:

还尝试将索引添加到排序属性,如下所示:

还是同样的问题。

0 投票
2 回答
760 浏览

mongodb - Meteor React - 为什么在 miniMongo 中找不到单个文档上的 findOne 时它​​确实存在?

这是一个很奇怪的问题。我认为这与我查询文档的方式有关。似乎 Meteor API 已更改为查询文档,但网站上的文档是相同的。

这是数据库中的一个文档:

我已订阅获取所有文档,这是我在控制台中尝试获取文档的内容。

我刚刚用 React 开始了一个新的 Meteor 项目。我看到我的收藏品正在回归_id: MongoId.ObjectId

这是不同的,我在 Blaze 中使用 Meteor 已经有一段时间了,我不记得它返回MongoID.ObjectID而不是字符串

但是现在,如果我尝试只找到那个文件,它就不起作用了。

我很肯定我正在为正确的_id领域排队。我已经仔细检查了身份证。为什么试图找到这个文件不起作用?

请让我知道如何查询文档。Meteor 有什么变化吗?文档仍然说您可以按 id 字符串搜索。

0 投票
2 回答
56 浏览

mongodb - 如何在 Meteor 中动态赋予集合文件名?

我现在有这些代码:

但我想给一个动态的子文件名。

如何动态给出归档名称?谢谢

0 投票
2 回答
231 浏览

mongodb - Meteor Pub/Sub 行为

我目前正在我的应用程序中实现实时搜索功能,我遇到了一些我很困惑的行为。

背景是:我的服务器上有两个来自同一个 MongoDB 数据库的订阅,名为posts.

  1. 第一次订阅订阅最新的 50 个帖子,并将数据发送到 MiniMongo 集合Posts

  2. 第二个订阅订阅匹配用户输入的任何搜索的帖子,并将此数据发送到 MiniMongo 集合PostsSearch,如下所示。

    /li>

我的问题是,我们从文档中知道:

如果您在创建集合时传递了一个名称,那么您就是在声明一个持久集合——一个存储在服务器上并可供所有用户查看的集合。客户端代码和服务器代码都可以使用相同的 API 访问相同的集合。

但是,情况并非如此PostsSearch。当用户开始在客户端上搜索时,该功能按预期完美运行 - 正确的光标被发送到客户端。

postsSearch但是,我在我的 MongoDB 数据库中看不到 a ,同样,PostsSearch除了我自己的客户端之外,也没有填充任何其他客户端。

这是怎么回事?看起来这样做是self.added("postsSearch", id, fields);它能够将光标向下发送到客户端,但不能发送到 MongoDB 数据库。

0 投票
1 回答
73 浏览

javascript - 如何按日期对 minimongo 游标进行排序?

我想使用日期字段对 minimongo 光标进行排序。根据 mongoDB 文档,它似乎$orderBy将被弃用(我不知道它是否适用于 minimongo)并且sort()似乎不起作用。

有没有办法使用日期字段对 minimongo 光标进行排序,或者我应该依赖普通的 Javascript/下划线(使用 underscore.js 按日期排序或只是普通的 JS)?

0 投票
0 回答
461 浏览

angularjs - 排队任务中的​​异常:TypeError:无法读取未定义、角流星的属性“拼接”

我正在为我的项目使用 angular-meteor。当我删除“自动发布”并为我的集合添加发布方法时,当我尝试获取任何数据时,我在控制台中收到以下错误。

很久以来我一直在尝试解决这个问题,但找不到任何解决方案。

我的控制器代码:

并发布代码:

当我将“自动发布”添加到项目时,我没有收到错误