【问题标题】:Meteorjs server side callMeteorjs 服务器端调用
【发布时间】:2017-06-08 13:57:21
【问题描述】:

我有这样的任务:

创建一个meterojs 应用。此应用应为users 提供添加messages(无需显式服务器端调用)和删除它(仅使用服务器端调用)的能力。

我是 meteorjs 的新手,我不明白如何在没有服务器端调用的情况下将实体放入集合中。

有什么办法吗?

【问题讨论】:

  • 我不确定我是否理解这个问题。 “显式服务器端调用”是什么意思? messages 应该住在哪里?浏览器、服务器内存、数据库?谁应该知道他们?他们的寿命是多少?
  • 老实说,我也真的不知道。我想我没有足够的经验来理解。这就是我所拥有的
  • 我想消息在服务器端,它们应该可以从所有客户端访问并且是状态的公共部分
  • 谁给你这个任务?在我看来,您应该要求他们进行澄清,然后阅读 Meteor 指南并查看 Meteor 文档的相关部分,以更好地了解 Meteor。然后,如果您有一个可以连贯地提出的特定问题,请提出或编辑此问题。这个实在是太模糊太宽泛了。

标签: javascript meteor


【解决方案1】:

这是一个奇怪的任务,但它的工作原理是这样的:Meteor 维护一个客户端“mini mongo”

  • 存放从服务器发布的数据
  • 允许对该数据进行类似 mongo 的查询
  • 允许在幕后与 mongo 同步的 CRUD 操作

假设您在一个文件中定义了一个集合,即消息,该文件同时提供给客户端和服务器:

Messages = new Mongo.Collection('messages');

流星会:

  • 如果尚未创建,请在数据库中创建一个名为“messages”的 mongo 集合
  • 在客户端创建一个名为“messages”的 minimongo 集合
  • 在具有典型 mongo 功能(例如 find()、findOne()、insert() 等)的客户端和服务器上定义一个符号“Messages”

默认情况下,您在客户端进行的任何操作都会在后台反映在服务器端。因此,您的用户无需显式服务器端调用(即其隐式调用)即可添加消息。

该数据将实际存在于真正的 mongo 数据库中。所以现在你可以从服务器上删除它。如果该集合上存在活动发布,则客户端将使用该删除进行更新。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-25
    • 1970-01-01
    • 1970-01-01
    • 2015-09-15
    • 1970-01-01
    相关资源
    最近更新 更多