官术网_书友最值得收藏!

On the server

On the server-side, we have two files: index.js and insertData.js. There is also a private folder where we can define sample data that we can work with. Meteor will treat the private folder as an assets folder and will not bundle it with the rest of the execution code, which makes it a perfect place to have the test data.

In the private folder in file, products.json will have the following fields:

private/products.json

The fields of the Products collection are as follows:

id: This is the product ID.

title: This refers to a product title.

price: This is the price per unit.

inventory: This is the currently available product inventory in the store.

department: This refers to the department ID the product belongs to.

In the root of the application tree, we also have a shared folder where we can have modules used by both the client and the server.

In there, we define the two Collections that we will be using: Products and Cart:

export const ProductsCollection = new Mongo.Collection('products');
export const CartCollection = new Mongo.Collection('cart');

The simplest way to insert the data is through a looping in the JSON file and call the collection.insert() query on each iteration:

export default function() {
if (ProductsCollection.find().count() > 0) {
return;
}
const products = JSON.parse(Assets.getText('products.json'));
_.each(products, function(product) {
ProductsCollection.insert(product);
});
}

When we boot the server, this script will run and insert the data from the products.json. We insert data only if the Products collection is empty.

In the server/index.js, the code is as follows:

import insertData from './insertData';
Meteor.startup(() => {
insertData()
...
主站蜘蛛池模板: 馆陶县| 鄂伦春自治旗| 商城县| 精河县| 霍城县| 大姚县| 洪江市| 象州县| 永济市| 景洪市| 朝阳市| 陵川县| 本溪市| 西充县| 绩溪县| 虹口区| 渝中区| 康乐县| 读书| 梁山县| 天峻县| 临汾市| 瓦房店市| 邵武市| 蒙山县| 小金县| 贵阳市| 苏尼特右旗| 天长市| 蓬溪县| 内江市| 平遥县| 蚌埠市| 柳林县| 海南省| 昌邑市| 当涂县| 丹寨县| 彭泽县| 嘉鱼县| 文水县|