2016-09-21 24 views
0

テーブルデータをdbデータと同期させて保存しようとしています。データ変更時に平均アプリケーション - DBコレクションの更新後にテーブルを更新する

:次に

$scope.changeStatus = function($event,label,status){ 
    var target = $event.currentTarget; 
    target = $(target).parents('tr').attr('id'); 
    $http({ 
     method: 'POST', 
     url: '/update', 
     params: { 
      trgt : target, 
      label : label, 
      labelstatus : status, 
      searchQuery : $scope.search 
     } 
    }) 
    .success(function(data){ 
     console.log(data); 
     $scope.events = data; 
    }) 
    .error(
    function(error){ 
      console.log(error) 
    }); 

} 

app.post('/update', function(req,res){ 
    ImportCollection.findOne({ _id : req.query.trgt },function(err,doc){ 
     doc.label.label = req.query.labelname; 
     doc.label.status = req.query.labelstatus; 
     doc.save(); 
}); 

//ここUNTILすべての作品JUST FINE

if(req.query.searchQuery){ 
ImportCollection.find({$or:[ 
    {'localizedData.0.title' : {'$regex': req.query.searchQuery, $options: 'i' }}, 
    {'licensor.name' : {'$regex': req.query.searchQuery, $options: 'i'}} 
    ]}) 
    .exec(function(err, imports){ 
     if(err) throw err 
     res.json(imports) 
     }) 
    } else{ 
     ImportCollection.find({},function(err, imports){ 
      if(err) throw err 
      res.json(imports) 
      }) 

    } 
}); 

しかし、その後、テーブルのデータを更新する必要があります応答、常に1つ後のリクエストです。 現在のデータ=ライブで、QAに設定しても何も起こりません。テーブルにはまだライブが表示されています。今すぐ変更したら、DENIEDに言えば、表にQAが表示されます。今はっきりしていることを願っています。

アイデアはありますか? doc.save()メソッドへのコールバック関数としてのfind()ブロックを渡す

答えて

0

は私のために働いた:

doc.save(function(err){ 
      if (err) throw error 

      var query = req.query.searchQuery; 
      if(query) { 
       ImportCollection.find({$or:[ 
        {'localizedData.0.title' : {'$regex': req.query.searchQuery, $options: 'i' }}, 
        {'licensor.name' : {'$regex': req.query.searchQuery, $options: 'i'}} 
        ]}).exec(function(err, imports){ 
        if(err) throw err 
        res.json(imports) 
       }); 
      } else{ 
       ImportCollection.find({}).exec(function(err, imports){ 
        if(err) throw err 
        res.json(imports) 
       }); 
      } 


     }); 
関連する問題