【问题标题】:Inserting External, Reactive API Data into a Meteor Collection将外部的响应式 API 数据插入 Meteor 集合
【发布时间】:2018-03-26 10:55:40
【问题描述】:

我有一些外部数据我从一个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?

  • 无后重复

【问题讨论】:

    标签: javascript rest http meteor meteor-collections


    【解决方案1】:

    您将 Meteor 方法定义与调用混淆了。

    文章获取和保存代码:

    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);
      },
    });
    

    【讨论】:

      猜你喜欢
      • 2014-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-04
      • 2018-02-12
      • 2015-09-07
      • 2015-06-03
      • 1970-01-01
      相关资源
      最近更新 更多