0

「カテゴリ」と呼ばれるアイテムのリストを含むコレクションがあり、各カテゴリには _id フィールドと名前フィールドがあります。カテゴリの名前の検索を単純に返そうとしています

ここに文書構造があります。各リスト項目には、これらのプロパティがあります。「名前」フィールドをターゲットにしようとしていますが、エラーが発生しています

ここに画像の説明を入力

I20160704-22:47:42.976(1)? メソッド 'findCategory' ReferenceError の呼び出し中の例外: ID が定義されていません

クライアント/html

 <form class="form-inline">
  <input type="text" class="form-control" id="searchCategory" placeholder="Search for Category">
  <button type="submit" class="btn btn-info">Search</button>
</form>



 {{#if foundCategory}}
      <div class="foundCategory">
        <button type="button" class="btn btn-default" id="follow">Follow @{{foundCategory.name}}</button>
      </div>
    {{/if}}
    </template>

サーバー/js

Meteor.methods({
  'findCategory': function(name) {
    return Meteor.CategoryCollection.findOne({
      _id: id          
}, {
      fields: { 'name': 1 }
    });
  }
});

私は試した

Meteor.methods({
      'findCategory': function(name) {
        return CategoryCollection.findOne({
          name : name         
    }, {
          fields: { 'name': 1 }
        });
      }
    });

しかし、私はエラーが発生します。

メソッド 'findCategory' TypeError の呼び出し中の例外: 未定義のメソッド 'findOne' を呼び出せません

必要な書類を返却するにはどうすればよいですか?

編集

私はrest2ddpを使用してjsonデータを呼び出し、それをCategoryCollectionに挿入します

また、Meteor.CategoryCollection を単に CategoryCollection に変更しました

サーバー/main.js

REST2DDP.publish("CategoryPublication", {
  collectionName: "CategoryCollection",
  restUrl: "http://localhost:8888/wordpress/wp-json/wp/v2/categories",
  jsonPath: "$.*",
  pollInterval: 5000,
});

client.subscriptions.js

CategoryCollection = new Mongo.Collection("CategoryCollection");
Meteor.subscribe("CategoryPublication");
Tracker.autorun(function () {
  console.log(CategoryCollection.find().fetch());
});
4

2 に答える 2

0

定義する必要があります

CategoryCollection = new Mongo.Collection("CategoryCollection");

サーバーサイドとクライアントサイド。

于 2016-07-04T22:49:13.737 に答える