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

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()
...
主站蜘蛛池模板: 宁波市| 沾益县| 丹巴县| 金门县| 崇仁县| 怀远县| 平潭县| 新乡县| 隆尧县| 郎溪县| 松原市| 宁河县| 改则县| 广东省| 建始县| 二连浩特市| 金华市| 铜川市| 井冈山市| 灵璧县| 永修县| 临沧市| 镇沅| 乐昌市| 靖州| 民勤县| 绥宁县| 新沂市| 都匀市| 普兰县| 扎囊县| 南皮县| 琼海市| 杨浦区| 新宾| 武城县| 宁陕县| 大石桥市| 泰顺县| 遂溪县| 桃园县|