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

mongodb - 当我尝试更新包含数组的文档时出现 Minimongo 错误

我在使用 angular-meteor 更新文档中包含的数组时遇到问题。Minimongo 抛出错误documentMatches needs a document

更新时引发此错误的文档如下所示。它包含的一件事是一个 s 数组_id。该数组包含某些特定文档的显示顺序。它看起来像这样:

我已将其附加$scope.meteorObject到一个名为$scope.settings. 当我从这个数组中删除一个项目然后用 保存时.save(),我得到了错误。有趣的是,当我将一个项目添加到数组中,然后保存时,就没有问题了!我还可以毫无问题地将其他键添加到设置对象。这只是导致问题的数组。

我使用 chrome 的调试器查看抛出错误时发生了什么,下面是抛出错误的代码:

疯狂的是,doc这实际上是 profileQuestionsOrder 数组中的第一项——它只是一个包含文档 ID 的字符串。似乎 miniMongo 对这个数组感到困惑。我可以放入任何其他属性,并且没有错误。但是当我从这个数组中删除一个项目时,它就出现了问题。

顺便说一句,当我不将对象保存到数据库时,我可以看到它已正确更改,从数组中拼接了一个元素。

0 投票
1 回答
2182 浏览

mongodb - Meteor 如何在客户端创建唯一的 MongoDB _id?

根据有关该功能的Meteor 文档,Mongo.Collection.insert()

insert 将为您传递的对象生成一个唯一的 ID,将其插入到数据库中,并返回该 ID。

它也可以异步工作:

如果您确实提供了回调,insert 仍会立即返回 ID。

是否可以保证生成的 _id 是全局唯一的?Meteor 的 Minimongo 是如何在客户端生成这样一个 _id 的呢?

0 投票
0 回答
160 浏览

mongodb - 服务器端 Meteor 脚本上的 Minimongo 错误?

我想将元素推送到 mongo 数组,并且我有这个查询应该与当前版本的流星 mongo (2.6.7) 一起使用。

这是查询:

...这是minimongo错误...打印到服务器控制台!

我可能遗漏了一些关于 minimongo <-> mongo 连接的信息,但是服务器端方法怎么可能受到 minimongo 实现的限制呢?

0 投票
2 回答
109 浏览

javascript - Meteor.js 有重新渲染事件吗?

当 Meteor.js 中的 minimongo db 更改时,是否会触发重新渲染事件或事件?

我正在使用流星 js 制作信使,当我收到新消息时需要向下滚动,并且应该在流星插入新消息(html)时完成。

0 投票
1 回答
39 浏览

meteor - Meteor 如何处理依赖失败的乐观操作?

Meteor 的乐观 UI 如何处理依赖操作的服务器拒绝和错误?

如果我做 :

如果op1在服务器端失败但在客户端成功,会发生op2什么op3
他们都会被回滚吗?

0 投票
1 回答
826 浏览

javascript - 如何判断 Meteor minimongo 何时与 mongo 服务器同步

我有一个 Meteor 应用程序,当客户端对已发布集合所做的所有更改都已写入服务器时,我希望能够在客户端进行检查。

我查看了minimongoddp-server中的代码,但我没有看到任何直接的方法来判断更改何时成功写入服务器。

Minimongo 概述了保存数据的过程:

  • 用户在客户端触发交互
  • 模拟将一些突变应用于本地状态
  • 触发 RPC 以在服务器上执行
  • 一段时间后,RPC 会返回结果
  • 再过一段时间,RPC 返回一条“更新”消息(在 DDP 级别),这意味着来自 RPC 的所有更改都已持久化
  • 此时我们知道,来自服务器的所有实际更改都是同步的,我们可以丢弃模拟的突变(保留来自服务器的真实更改)

我可以覆盖LocalCollection.prototype.saveOriginalsLocalCollection.prototype.retrieveOriginals知道它们何时被调用,但我不确定如何验证数据何时实际保存。retrieveOriginals即使 Meteor 服务器关闭,也会被调用。

是否有任何其他地方可以挂钩回调或监听事件以了解何时同步更改?

0 投票
1 回答
523 浏览

mongodb - 流星 mongo 驱动程序可以处理 $each 和 $position 运算符吗?

我正在使用最新的流星包开发流星应用程序。我想在 mongo 文档数组中重新定位一个项目。为此,我$pull将它从数组中取出,然后根据mongoDB 文档$push将它放在特定位置。index

Meteor/Mongo 抛出以下错误:

更新失败:MongoError:无法规范化查询:BadValue 未知顶级运算符:$each

我首先实现了这个客户端。由于 minimongo 的限制,我认为它不起作用。

我写了一个方法来处理这个服务器端,但我最终得到了同样的错误。

这个请求有什么问题,流星可以处理 $each 运算符吗?


编辑:我试图将它直接插入 robomongo,它起作用了。Mongo 版本,输入时db.version()返回 2.6.7


* EDIT2:我没想到它,所以我之前没有检查:更新适用于$pull$push。但是,即使实际更新了数据,我仍然会收到错误消息。


*编辑:这是一些示例数据:

chunks是我在该位置my_array拉和推的数组my_item.idindex

0 投票
1 回答
5653 浏览

arrays - MongoDB - 仅投影数组中的匹配元素

如何从具有以下结构的 Mongo 文档的数组中获取一个元素:

例如,我需要得到史蒂夫,在这种情况下,结果必须如下所示:

或者:{type: 'dog', name: 'Steve'}

我知道如何在发布时制作它,但我需要在整个数组可用的客户端制作它,我可以使用 forEach 从数组中返回这个值,但我正在寻找更优雅的方式(使用 Mongo 查询)。

0 投票
1 回答
63 浏览

javascript - 嵌套数组的排序不会导致顺序发生变化

我有一个使用以下结构定义的集合:

我想以正确的评论顺序显示此信息。这意味着在我的情况下,首先是最新的评论。

我尝试使用:

和:

但顺序保持不变 - 首先是最旧的评论。

知道我错过了什么吗?

0 投票
3 回答
40 浏览

mongodb - Meteor mongo 数组每个都返回错误

我有一个包含以下条目的集合

当我通过流星查询mongo的字段communicationWith时,如果我做一个console.log(communicatingWith),输出是 [ 'KMT74bWPoZxDSKdrx', 'KMT74bWPoZxDSKdrx' ]

即使我这样做console.log(communicatingWith.length),输出也是 2

但是当我这样做时

它抛出错误说

你能帮我理解哪里出了问题吗?