다른 도메인에서 제공하는 몇 가지 외부 JSON 피드에서 데이터를 가져 오는 앱을 만들고 있습니다.외부 JSON 피드에서 유성 컬렉션을 정기적으로 업데이트하는 방법은 무엇입니까?
$ 위치 쿼리를 사용할 수 있도록 서버에 모음을 만들고 싶습니다.하지만 JSON 피드를 정기적으로 확인하여 업데이트되었는지 확인해야합니다. 이에 따라 내 컬렉션을 업데이트하십시오.
이렇게하는 '표준'방법이 있습니까? (내가 가지고있는 것을 서버에서 확인하는 것이 최신 버전입니까?)
편집 ... 자세한 정보!
내 JSON 피드에는 이라는 고유 한 식별자가 있지만 모든 피드에서 고유 한 식별자가 있습니다. 쿼리 서식을 지정하는 방법을 알면 upsert
에서 사용할 수 있습니다. 그게 setInterval
와 함께 작동할까요?
[{"offer_title":"NEW TEST OFFER!!!",
"url_title":"new-test-offer_144",
"offer_desc":"description here",
"offer_start":"2014-07-10",
"offer_end":"2014-07-12",
"offer_category":"food-drink",
"offer_advertiser":"Testing Corp",
"location": {
"type": "Point",
"coordinates": [-5.53596,50.12121]
}
} ...
그리고 나는이 같은 (현재 클라이언트 측) 데이터를 당기는 해요 : : 내 피드 중 하나는 다음과 같습니다
Offers = new Meteor.Collection(null);
HTTP.get("http://myappurl.com/offers.json", function(err,result) {
if (result.statusCode === 200) {
respJson = JSON.parse(result.content);
for (var i = 0; i < respJson.length; i++) {
console.log('inserting '+respJson[i]['offer_advertiser']);
Offers.insert(respJson[i]);
}
//Commented out because I need to move this server side
//Offers._ensureIndex({location: "2dsphere"});
}
else {
console.log(result.statusCode);
}
});
내가 Meteor.setInterval이 포장하고 줄 경우 비교적 긴 간격 시간, 그게 효과가 있니? 삽입/업서트 형식은 어떻게 생깁니 까?
소리가 좋습니다. 내가 어떻게 그것에 대해 갈 것이냐? 어떤 종류의 pseudo (node) cron으로? 아니면 앱 내에서 그렇게할까요? – BellamyStudio
유성 내부에 'cron'작업을 만들 수 있습니다. 서버 측 코드에서 Meteor.setInterval을 사용하면 Meteor.startup() 내에 배치하는 것이 가장 좋습니다. – cwohlman