运行服务器端帮助脚本

时间:2013-11-07 18:09:15

标签: meteor

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

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

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

在游戏过程中,特别是在测试阶段,我需要使用带参数的辅助函数(如卡片)从命令行/终端/ shell“生成批量卡片”(并可能执行其他设置和微调功能) .issue(10)会创造10张新牌)。

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

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

1 个答案:

答案 0 :(得分:2)

实现此目的的最简单方法是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});