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

meteor - _id 在哪里生成(和检查)?

数据库操作插入现在似乎是在插入后立即同步返回 _id,因此这里不需要回调。

问题在于在哪里生成(和检查)_id,因为这似乎是在 miniMongo 上完成的快速同步操作,但是没有某个集合的 _id 的完整列表,miniMongo 如何检查是否_id 是否重复?

0 投票
1 回答
400 浏览

javascript - Minimongo 无法在客户端进行集合排序

我正在使用 Meteor 返回最接近用户地理位置的场地列表。我从服务器正确地进行了排序,但数据在到达客户端时有点混乱。我的理解是,一旦收到数据,客户端就需要进行另一种处理。

我在服务器上的 publish.js 中有以下代码:

我的视图的模板助手中的以下内容不返回任何内容:

编辑:从发布语句的开头删除了无关params ? !!params : 50;代码。

注意:助手底部的注释掉的代码确实有效,所以我知道这是进行客户端排序的正确位置。那么,当信息通过 Mongo 地理空间方法进行排序时,如何进行客户端排序?必须有一种方法可以从离某个位置最近到最远的位置对地理位置数据进行排序——我在这里遗漏了什么?

0 投票
2 回答
342 浏览

mongodb - Meteor中如何优化收藏订阅?

我正在使用 Meteor.js 开发过滤后的实时搜索模块。

用例和问题:

用户想要通过所有用户进行搜索以找到朋友。但是我不能让每个用户都询问完整的用户集合。用户使用复选框过滤搜索。我想订阅匹配的用户。最好的方法是什么?

我想创建查询客户端会更好,然后将方法发送给它以取回所需的用户集。但是,我想知道:当过滤条件发生变化时,新订阅是否会清除所有旧订阅?因为,如果我进行第一次搜索返回 me [usr1, usr3, usr5],然后搜索返回 me [usr2, usr4],最好保留第一个集合,并在客户端订阅的集合中简单地添加新的集合。

而且,此外,如果我做第三次研究应该返回我 [usr1, usr3, usr2, usr4],自动运行的订阅不会向我发送任何东西,因为我的集合中已经有整个结果集。

目标是节省来自服务器的处理和数据传输。

我有一些想法,但我还没有编写足够的代码,无法以一种简单全面的方式分享它。

您如何建议我在节省时间和节省性能方面做得更相关?

谢谢大家。

大卫

0 投票
1 回答
730 浏览

meteor - 在发送到客户端之前修改 Meteor.publish 中的数据

我有以下用例:

  • 我在后端的 MongoDB 中有一个用户表,它是与前端不同的服务。我使用 DDP.connect() 连接到这个后端服务。
  • 每个用户都有一组“主题”
  • users 表中的每个主题都由 id 引用,而不是 name。有一个名为“subjects”的单独表,它按 id 保存主题。

  • 我想将用户发布到客户端,但是我希望发布的用户首先填充主题。

受这篇博文的启发,我尝试了以下方法:

这会在后端产生以下错误:
Exception from sub users id akuWx5TqsrArFnQBZ Error: Could not find element with id XhQu77F5ChjcMTSPr to change.

所以我尝试更改_this.changed_this.added. 我没有收到任何错误,但是客户端 minimongo 中没有显示更改,即使我可以看到该populate功能通过该console.log(user)行工作。

0 投票
1 回答
1193 浏览

mongodb - 如何在不同的数据库中创建 Meteor 集合?

我可以使用创建新的流星集合Test = new Meteor.Collection("testCollection")

但它会在我的 mongo 安装的testCollection内部数据库中创建。admin

假设我在 mongo like 中有两个独立的数据库testing,另一个是admin. 如何testing在 mongo 安装中的 db 中创建上述集合?

此外,我可以在某处指定我想要限制/取消限制特定集合以定义集合的大小。

0 投票
0 回答
88 浏览

mongodb - 使用流星从网页获取和设置数据到 mongo 集合

不用说,我对流星很陌生。我想将数据保存在我的流星 mongo 和 mini mongo(在浏览器上)并维持 maleCount 和 femaleCount 的值。

几年后我正在编写代码。它将从以下显示。请帮助我将“maleCount”和“femaleCount”的值存储到本地“post”集合中,将它们检索到我的会话中并在运行时操作它们。谢谢。

Javascript代码 -

common.js -


post.find('1').fetch() 之类的查询;有时会向我返回错误,当我将其值存储在对象中时,返回未定义。谁能指出我正确的方向?

0 投票
1 回答
457 浏览

javascript - Meteor:集合中的更改不会反映在呈现的 HTML 中

我一直在尝试在 Meteor 中进行一些非常简单的发布/订阅,但我无法通过阅读可用的资源(例如 Meteor 文档)来使其正常工作。

我正在使用带有 OSX Yosemite 的 Macbook Pro 并运行 Node.js v0.10.40、Meteor v1.1.0.2 和 Chrome 版本 43.0.2357.132(64 位)。

这是我对两个不同示例的体验:

第一:简单的 todos 教程。

simple-todos.html

simple-todos.js

问题描述

该教程指出,在向其中添加项目时,Tasks它应该在浏览器中实时反映。它不是。我尝试Tasks.insert({text: "todo from server", createdAt: new Date()})在 Chrome 和meteor shell. 我还使用添加了项目meteor mongo,但渲染的客户端视图仍然没有变化

自动发布包已安装,我可以插入和查询Tasks在浏览器中从 JS 控制台插入和查询集合,但更改不会反映在呈现的 HTML 中。

二:一个简单的发布/订阅场景

基本.html

基本的.js。

问题描述

当自动发布包添加到我的项目中时,一切都按预期工作。我可以在 Chrome 中从 JS 控制台插入新项目,也可以查询MessageColl集合并检索结果。

MessageColl删除自动发布包后,我可以从 Chrome 中的 JS 控制台将项目插入集合中,并通过在meteor shell. 但是,当我尝试查询 usingMessageColl.findOne()MessageColl.find().fetch()返回值为undefined.

在 HTML 文档结构中进行的所有更改都会按预期推送。

onReady或回调函数都没有onError被调用,因此指向与订阅方法相关的问题。

0 投票
1 回答
25 浏览

javascript - 添加文档,然后立即删除

这是我的简单模板:

在我的 groupChat.html 和 groupChat.js 文件中:

当我提交一条新消息时,我可以看到它是使用 Mongol 添加的(并且在视觉上有一瞬间),但之后它立即被删除。

任何想法为什么会发生这种情况?

0 投票
2 回答
196 浏览

mongodb - 当我在 minimongo 上执行 fetch() 时会发生什么

要查询流星客户端 mongodb 实现上的对象,我可以使用

或者

如果我不使用 fetch,我会得到很多我不理解的属性,这些属性似乎对我没有用。我想知道当我调用该fetch()方法时实际发生了什么。我找不到任何有关此的文档。

0 投票
0 回答
28 浏览

mongodb - 文档插入顺序错误,自行修复

我在发布功能中获得了 200 条最新消息的列表,如下所示:

我知道这是最新的在前,但我想要最旧的在前,所以当我在客户端上进行查找时,我以另一种方式排序:

除了我输入新消息时,一切都显示得很好。它被插入到包含所有旧消息的列表的末尾。在插入到服务器进行往返之后,它会跳转到列表的正确末尾。

如果我取出限制和客户端排序,并以正确的顺序将所有消息提供给客户端,则不会出现此问题。

在延迟补偿期间,如何使消息显示在正确的位置?