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

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()
...
主站蜘蛛池模板: 望江县| 辽阳县| 鲁山县| 黄陵县| 武胜县| 吉水县| 五大连池市| 湘潭市| 资溪县| 柳林县| 札达县| 余江县| 石渠县| 格尔木市| 全南县| 宁明县| 勃利县| 庐江县| 罗源县| 鹤峰县| 沾益县| 开鲁县| 松原市| 方城县| 林芝县| 清涧县| 辽阳市| 唐山市| 尤溪县| 台湾省| 囊谦县| 万盛区| 永川市| 福清市| 建昌县| 台湾省| 渝中区| 东丰县| 乾安县| 泸定县| 青岛市|