1

我有一些从API调用的外部数据。数据是我通过WordPress API获取的 WordPress 帖子对象。

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

服务器.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帖子对象在控制台中看起来像这样。这些数据会定期更新新帖子,我希望Posts我正在将这些数据加载到其中的集合来反映这一点。

在此处输入图像描述

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

服务器.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 帖子保存集合中?

  • 无后期重复

4

1 回答 1

0

您将 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);
  },
});
于 2017-10-14T15:56:05.257 回答