【问题标题】:Running server side helping scripts运行服务器端帮助脚本
【发布时间】:2013-11-08 04:17:22
【问题描述】:

我正在开发一款基于真实数据的多人纸牌游戏(想想 Yu-gi-oh)。我有一个包含单个项目数据的集合“数据”和另一个包含游戏中实际发行的卡片的集合“卡片”。

卡片与数据项具有多对一的关系(因此一个数据项用于填充单个卡片的多个副本的参数数据,但拥有不同的所有者)。

“卡片”作为本地子集集合发布给客户端,其中包含来自客户端发布“卡片”的所有客户端“卡片”项所需的所有“数据”项。

在游戏过程中,尤其是在测试阶段,我需要使用带参数的辅助函数(如卡片.issue(10) 将创建 10 张新卡)。

我想从命令行/终端/shell 执行此操作,以避免编写管理前端,直到我确定将手动完成什么以及自动完成什么。

我应该将带有此类帮助脚本(带参数的函数)的 .js 文件放在哪里,我将如何从终端运行它们?如何从终端/shell 访问流星(服务器端)对象?

【问题讨论】:

    标签: meteor


    【解决方案1】:

    实现这一点的最简单方法是使用 node.js 中的脚本。

    1) 您可以随时放置这些文件,只要确保它们不在 Meteor 感兴趣的范围内。因此,如果您想将它们放在项目目录中,请将它们放在隐藏的(以. 开头)子文件夹中。

    2) 您将这些文件作为典型的节点脚本运行:node path/to/file.js

    3) 您不需要从该脚本访问 Meteor 结构,只需访问数据库即可。为此,您需要一个 Mongo 驱动程序(节点 mongodb 包 - here's the handy documentation),然后:

    • 加载它:

      var MongoClient = require('mongodb').MongoClient;
      
    • 连接本地数据库:

      MongoClient.connect('local_db_url', function(err, db) {
          ...
      });
      
    • 在连接回调中,插入你的对象:

      var cards = db.collection('cards');
      cards.insert(card, {safe: true});
      

    【讨论】:

    • 听起来很酷!我想对我来说最大的问题是我直接从 PHP/Javascript 的思维方式跳入 Meteor(同时寻找最好的框架)。因此,我真的没有任何节点经验-理论上和概念上的一切都很清楚,但是我有 0 小时的后端节点编程:(您能否建议一个带有实际示例和方法的可靠源/教程- tos?谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-27
    • 1970-01-01
    相关资源
    最近更新 更多