Meteorjs:查询收集是否会占用流星服务器上合并框中的内存?

时间:2015-01-12 12:43:27

标签: meteor

Meteor服务器需要保留客户端数据的副本,以管理“订阅”。在订阅中,如果数据库中发生了某些更改,则服务器通过在合并框中查看此本地副本,仅向客户端发送适当的数据。

说,我有一个帖子集合如下:

Posts = new Mongo.Collection("posts");

如果我从客户端(浏览器)调用Posts.findOne()等查询,服务器是否也会在服务器的合并框中缓存这些查询的结果,以跟踪可用的数据。客户。请注意,不会从“发布”功能调用这些查询。这些查询是从浏览器调用的。

流星服务器在以下情况下的行为如何:

  1. 在Posts集合上订阅时?
  2. 如果帖子没有订阅?

1 个答案:

答案 0 :(得分:0)

在客户端上,findfindOne仅对客户端上的minimongo执行操作。因此服务器一无所知。合并框仅适用于您定义的发布 - 订阅功能。因此,回答你的问题:

  1. 当您的Posts集合有订阅和发布时,服务器会创建/扩充客户端的现有合并框。这会消耗CPU和内存以使客户端和服务器保持同步。
  2. 如果您的Posts集合没有订阅,则客户端的Post集合应该为空(除非您从客户端添加它)。 findfindOne应返回空游标或空对象。