2016-08-26 20 views
0

を変更します。それにはいくつかの変更を行う、Meteor.jsは、私は流星に次のコードを使用してい

  var game = Games.findOne({_id:gameId}); 
      if(game.status == 'waiting'){ 
       game.status == 'canceled'; 
      } 

基本的に私は、コレクションからオブジェクトを取得していますし、今私はデータベースに保存したい、どのようにこれを行うには? .save()メソッドのようなものがありますか?

私はPHPから来ているので、私は完全に欠けているかもしれませんが、Laravelではデータベースからフェッチし、オブジェクトで作業し、データベース上で更新するだけです。流星で同じワークフローを使用することはできますか?どうやって?

+0

はところで、あなたはおそらく、 '='ではなく '==' 'game.statusで== 'キャンセル' が使いたいです;'。 – Minderov

答えて

0

updateメソッドを使用する必要があります。 insecureパッケージがまだ含まれている場合にのみ、クライアント側で動作します:

var game = Games.findOne({_id:gameId}); 

if(game.status == 'waiting'){ 
     Games.update({_id:gameId},{$set : {status: 'canceled'}}); 
} 

注意:

コードは次のようにする必要があります。実稼働環境のDB上でCRUD操作のメソッドを呼び出す必要があります。あなたがオブジェクトでの作業が完了した後

0

あなたはしばらくAnkitの唯一statusで、これとAnkit's answerの違いは私のバージョンでは、オブジェクト全体が更新されるということです。この

var game = Games.findOne({_id:gameId}); 

if (game.status == 'waiting') { 
    game.status = 'canceled'; 
} 

// .. change more stuff in `game` 

Games.update({_id: game._id}, {$set: game}); 


のようにそれを保存することができます。 1つのパラメータだけを更新し、そうでない場合は自分の方法を使用する方が良いでしょう。

0

他の人たちが答えたように、流星のコレクションにはあなたが期待するワークフローがありませんが、天体と呼ばれる天体と呼ばれるORMパッケージがありますので、試してみると生産性が向上しますhttps://github.com/jagi/meteor-astronomy

var game = Games.findOne({_id:gameId}); 
if(game.status == 'waiting'){ 
    game.status = 'canceled'; 
} 
game.save() 
関連する問題