私はプレーヤーの名前と得点を投稿するスコアボードWebアプリケーションを構築しています。データベースにプレーヤーの名前とスコアをシードする方法
var players = [
'Bob',
'Tom',
'Mark'
];
私はプレイヤーの名前とスコアをシードしたい:私はそれはそうのように、配列内の文字列として表示されている場合しかし、私は自分の名前をシードすることができる午前、アプリケーションが実行される前にデータをシードしたいですそのような配列内のオブジェクトを使用すると:
var players = [
{"name": "Mary", "score": 9},
{"name": "Barry", "score": 16},
{"name": "Harry", "score": 12}
];
以下はプレイヤーの名前と「0」の代わりに、上記のオブジェクト内の自分のスコアのスコアを掲示される私の関数です。私は、新しいプレイヤーに「0」のスコアを与えたいだけです。
seed.js
players.forEach(function (player, index) {
Player.find({ 'name': player},
function(err, players) {
if (!err && !players.length) {
Player.create({ score: 0, name: player });
}
});
});
This is the model that I created in MongoDB for the player:
player.jsここ
'use strict';
var mongoose = require('mongoose');
var playerSchema = new mongoose.Schema({
name: String,
score: Number
});
var model = mongoose.model('Player', playerSchema);
module.exports = model;
あるプレーヤーのための私のhtml:
player.html
ここ<div class="item" ng-repeat="player in players | orderBy: 'player.score' ">
<label ng-hide="editing" ng-click="editing=true">{{player.name}}</label>
<input ng-show="editing" ng-blur="editing = false" class="editing-label" type="text" ng-model="player.name" ng-change="player.edited = true"/>
<div class="actions">
<button ng-model="player.score" min="0" ng-click="player.score = player.score - 1" type="number" >-</button>
<label ng-model="player.score" placeholder="0" class="editing-label">{{player.score}}</label>
<button ng-model="player.score" min="0" ng-click="player.score = player.score + 1" type="number">+</button>
<a href="" ng-click="savePlayers()">Save</a>
<a href="" class="delete" ng-click="deletePlayer(player, $index)">Delete</a>
</div>
</div>
は私のアプリは現在、どのように見えるかの写真です:ここで
は、私は私のアプリを見たいかの写真です:
すべてのヘルプ大変感謝しています!
あなただけの 'Player.insertMany(選手を行うことができますが、コールバック) '?これは、私がデータベースをアプリの起動時にシードするためです。私は解析し、私のデータベースに要素を挿入する外部JSONファイルがあります。 –