Merhabalar yardımlarınız için çok teşekkürler sorunu araştırmalarım sonucu çözdüm gayet iyi çalışıyor.
Öncelikle node.js projeme axios ve mysql modüllerini dahil ettim;
npm install axios
npm install mysql
'use strict';
const mysql = require('mysql');
const axios = require('axios');
let connection = mysql.createConnection({
host: 'localhost',
user: '[kullanıcı adı]',
password: '[şifreniz]',
database: '[tablo adınız]'
}); // veritabanı bağlantısı için gerekli bilgiler
connection.connect(function (err) {
if (err) throw err;
console.log('MySQL bağlantısı başarıyla gerçekleştirildi.');
}); // veri tabanı bağlantısını sağlayan kodlar
const getBreeds = async () => {
try {
return await axios.get('https://www.binance.com/api/v3/ticker/bookTicker')
} catch (error) {
console.error(error)
}
}; // axios ile veriyi çektiğimiz kısım
// aşağıdaki kısımda verileri bir değişkene atayıp veri tabanına INSERT veya UPDATE ediyoruz.
const countBreeds = async () => {
const turler = await getBreeds()
if (turler.data) {
for (let i = 0; i < turler.data.length; i++){
var verilerial = turler.data;
connection.connect(function(err){
// veritabanımın tablo adı "coins" tablodaki sütunlar id,symbol,bidPrice,bidQty,askPrice,askQty bu kısımda 'id' yi koymama nedenim veritabanında otomatik olarak artan değer almasıdır (AUTO_INCREMENT).
var sql ="INSERT INTO coins (symbol,bidPrice,bidQty,askPrice,askQty) VALUES( '"+verilerial[i].symbol+"','"+verilerial[i].bidPrice+"','"+verilerial[i].bidQty+"','"+verilerial[i].askPrice+"','"+verilerial[i].askQty+"')";
// eğer aynı apiden çektiğiniz verileri database de güncellemek istiyorsanız şunu kullanabilirsiniz.
// var sql = "UPDATE coins SET symbol='"+verilerial[i].symbol+"',bidPrice='"+verilerial[i].bidPrice+"',bidQty='"+verilerial[i].bidQty+"',askPrice='"+verilerial[i].askPrice+"',askQty='"+verilerial[i].askQty+"' WHERE id='"+[i]+"'";
connection.query(sql,function(err,result){
if (err) throw err;
});
});
}
}
};
countBreeds()
// setInterval(countBreeds,2000); database i güncellemek isterseniz bu kısmı aktifleştirin. countBreads() ı 2sn de bir çalıştırarak veritabanını güncelleyecektir.Bu şekilde sorunu çözdüm. Herhangi bir alanda şunu yapsaydın daha mantıklıydı ya da daha verimli olabilirdi diyebileceğiniz kısım var mıdır. Herkese yardımlarından dolayı teşekkür ediyorum.