NodeJS async modülü ile dizi elemanları ile veritabanı üzerinde yapacağımız işlemleri asenkron hale getirebiliriz.
Örneğin aşağıdaki gibi bir dizimiz olsun.
var dizi = [07,34,47];
Bu dizinin şehirlerin plakalarından oluştuğunu ve bu diziyi kullanarak geriye şehirlerin isimlerini göndereceğimizi varsayalım.
var async = require('async');
var dizi = [07,34,47];
var sehirler = [];
var mongoose = require('mongoose');
var sehir = mongoose.
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var sehirSchema = new Schema({
plaka : Number,
ad : String
});
var sehir = mongoose.model('Sehir', sehirSchema,'sehir');
async.forEach(dizi,function(_plaka,callback){
sehir.findOne({ plaka : _plaka },function(err,_sehir){
if(!err){
sehirler.push(_sehir.ad);
}
});
},function(err){
if(!err){
console.log(sehirler);
}
});
Şehirlerin plaka ve isim bilgileri ile tutulduğu bir veritabanının olduğunu varsayarak sehir modelimizi mongoose modülü ile oluşturduk. async modülümüz ile dizimizdeki plaka bilgilerini kullanarak şehirlerin isimlerini veritabanından çekerek sehirler dizisine ekledik ve console.log ile konsola yazdırdık.
Hiç yorum yok:
Yorum Gönder