Вставьте данные в Meteor из Facebook API
Я следую приведенному примеруВот по извлечению данных из FB Graph. До сих пор мне удалось получить данные из FB, однако я не могу понять, как вставить их в MongoDB.
В данный момент данные из Facebook отображаются следующим образом:
{"data": [ { "picture": "https://photo.jpg", "id": "1234", "created_time": "2013-01-01T00:00:00+0000" }, { "picture": "https://photo.jpg", "id": "12345", "created_time": "2013-01-01T00:00:00+0000" }] }
Я создал коллекцию вызовов Фото, и я попытался вставить данные сPhotos.inser(data)
, Вот мой код сервера:
function Facebook(accessToken) {
this.fb = Meteor.require('fbgraph');
this.accessToken = accessToken;
this.fb.setAccessToken(this.accessToken);
this.options = {
timeout: 3000,
pool: {maxSockets: Infinity},
headers: {connection: "keep-alive"}
}
this.fb.setOptions(this.options);
}
Facebook.prototype.query = function(query, method) {
var self = this;
var method = (typeof method === 'undefined') ? 'get' : method;
var data = Meteor.sync(function(done) {
self.fb[method](query, function(err, res) {
done(null, res);
});
});
return data.result;
}
Facebook.prototype.getUserData = function() {
return this.query('me');
}
Facebook.prototype.getPhotos = function() {
return this.query('/me/photos?fields=picture');
}
Meteor.methods({
getUserData: function() {
var fb = new Facebook(Meteor.user().services.facebook.accessToken);
var data = fb.getUserData();
return data;
_.forEach(data.data, function(photo) {
Photos.insert(photo, function(err) {
if(err) console.error(err);
});
});
}
});
Вот код моей коллекции:
Photos = new Meteor.Collection('picture');
Прямо сейчас, ничего не вставляется в MongoDB, и я не могу понять, почему.
Любые мысли о том, что я делаю не так, или есть лучший способ решить эту проблему? Заранее спасибо!