2016-05-15 6 views
0

データベースとnodejを学習しようとしています。からmongoからpostgresqlへ - エラー: "array_to_string"またはその近くの構文エラー

nodejsを使用してmongodからpostgresqlに次のように変換する方法を教えてください。

//fill QueryString 
collection.find({"myID" : {$in:QueryString} },{}).toArray(function(err, Stuff) { 

..... 

if (....) { 

collection.update(
     { "myID" : req.body.id }, 
     {$set : { "myField" : req.body.fileid }}, 
     function(err, resultNew) { 
.. 
}//end of update 
}//end of find 

私が試した:

//fill QueryString 
for (var i=0; i<req.body.my_ids.length; i++) { 
    QueryString[i] = req.body.my_ids[i]; 
} 

pg.connect(conString, function(err, client, done) { 

     if (err) return console.error('error fetching client from pool', err); 


     client.query("SELECT FROM mytable WHERE myID = ANY array_to_string(QueryString::int[],', ') ", function(err, Stuff) { 
      .... 

      client.query("UPDATE mytable WHERE myID = 'req.body.id' SET myField ='req.body.fileid' " , function(err,result) { 

      });//end of update 

      }); // end of select 

私は私の訳わかりません。

mongoを使用しているときの最初のクエリでは、「Stuff」は配列になりますが、ノードポストグルでは何か計算する必要がありますか?配列ですか、何かを指定する必要がありますか?今私はQueryStringで検索するための適切な構文を見つけることができません。

2番目のクエリでは、それが正しいかどうか、またはどうすればよいかはわかりません。

答えて

0

だから、機能することを思わ:

client.query("SELECT * FROM mytable WHERE my_id = ANY ($1::varchar[]) ",[QueryString], function(err, Stuff) { 

client.query("UPDATE mytable SET myField ='req.body.fileid' WHERE my_id = 'req.body.id'", function(err, result) {