在启动时将json文件导入服务器代码中的集合

时间:2014-08-18 19:05:45

标签: json mongodb meteor

我已将MongodB集合导出到本地测试计算机上的JSON文件,并希望在启动时通过Meteor.js服务器端代码导入它(部署到meteor.com网站后)。我还没有找到任何这方面的例子。

由于

2 个答案:

答案 0 :(得分:11)

示例:

    // import data only when Products collection is empty

    if (Products.find().count() === 0) {
        console.log("Importing private/products.json to db")

        var data = JSON.parse(Assets.getText("products.json"));

        data.forEach(function (item, index, array) {
            Products.insert(item);
        })
    }

答案 1 :(得分:0)

如果您的产品组很小,您可以将它们全部放在同一个文件中,然后删除解析。

var products = [{/* product 1 */}, {/* product 2 */), ...];

if (Products.find().count() === 0) {
  products.forEach(function (product) {
    Products.insert(product);
  });
}

OR

使用Meteor 1.3中的新导入,您可以改为导入它们,就像这样。

// fixtures/products.js

export default [{/* product 1 */}, {/* product 2 */), ...];

// fixtures/seed.js

import products from './products.js';

if (Products.find().count() === 0) {
  products.forEach(function (product) {
    Products.insert(product);
  });
}