繁体   English   中英

将外部反应性API数据插入流星集合

[英]Inserting External, Reactive API Data into a Meteor Collection

我从API调用了一些外部数据 数据是我通过WordPress API获取的WordPress发布对象。

我正在使用HTTP包,我的代码如下所示。

server.js

const articleIncoming = HTTP.call( 'GET', 'http://myUrl/wp-json/wp/v2/posts', {}, function( error, articleIncoming ) {
  if ( error ) {
    console.log( error );
  } else {
    console.log( articleIncoming );
 });

其中articleComing是响应。 控制台中的一个WordPress post对象看起来像这样。 该数据会定期更新为新帖子,我希望将这些数据加载到其中的Posts集合中来反映出来。

在此处输入图片说明

现在我有了数据,我想将这些帖子添加到名为Posts的集合中,但是遇到了困难。

server.js

const articleIncoming = HTTP.call( 'GET', 'http://myUrl/wp-json/wp/v2/posts', {}, function( error, articleIncoming ) {
  if ( error ) {
    console.log( error );
  } else {
    console.log( articleIncoming );
 });

 Meteor.methods({
  'Posts.insert'(articleIncoming) {
    return Posts.insert({
      articleIncoming,

    });
  },
});
  • 我怎样才能挽救不断更新 WordPress的帖子到集合,在更新时,一个新的职位被发布在WordPress的方法吗?

  • 没有帖子重复

您正在将流星方法定义与调用混淆。

文章获取和保存代码:

HTTP.get('http://myUrl/wp-json/wp/v2/posts', (error, articleIncoming) => {
  if ( error ) {
    console.log( error );
  } else {
    Meteor.call('Posts.insert', articleIncoming, (err, postId) => {
      if (err) {
        // handle error
      }
    });
  }
});

别的地方:

Meteor.methods({
  'Posts.insert'(articleIncoming) {
    // prevent duplications, based in article's `id` field
    const _id = `article_${articleIncoming.id}`;
    return Posts.upsert({ _id }, articleIncoming);
  },
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM