2016-07-04 6 views
0

からオブジェクト配列のプッシュをフィルタリングするためにどのように私は、私はいくつかのojectをフィルタ処理しようとしているが、それは動作していないJavascriptが:mysqlのクエリ

var notes = [] 
db.query('SELECT * FROM test WHERE working = 0') 
      .on('result', function(data){ 
       // Push results onto the notes array 
       notes.push(data)     
      }) 
      .on('end', function(){ 
       // Only emit notes after query has been completed 
       console.log(notes) 
      }) 

note = [ RowDataPacket { id: 12, link: 'This is a random 74 note', working: 0 }, 
    RowDataPacket { id: 16, link: 'This is a random 80 note', working: 0 }, 
    RowDataPacket { id: 44, link: 'This is a random 29 note', working: 0 } ] 

のmysqlから配列を得ました。

notes = notes.filter(function(obj) { 
      return obj.id !== data.noteid; 
     }); 

その同一アレイ

note = [ RowDataPacket { id: 12, link: 'This is a random 74 note', working: 0 }, 
    RowDataPacket { id: 16, link: 'This is a random 80 note', working: 0 }, 
    RowDataPacket { id: 44, link: 'This is a random 29 note', working: 0 } ] 

に任意のアイデアを返しますか?

+0

我々は、データベースが何を返して見ることができますか? –

答えて

0

この関数は配列からオブジェクトを削除する関数です。

var removeByAttr = function(arr, attr, value){ 
    var i = arr.length; 
    while(i--){ 
     if(arr[i] 
      && arr[i].hasOwnProperty(attr) 
      && (arguments.length > 2 && arr[i][attr] === value)){ 
      arr.splice(i,1); 
     } 
    } 
    return arr; 
} 

removeByAttr(notes, 'id', parseInt(data.noteid)) 

それは働いて罰金:)