Несмотря на тщательное следование инструкциям по настройке Elastic Search Package для добавления Поиск функциональности в мое приложение Meteor, я продолжаю получать это разочаровывающее сообщение об ошибке в консоли браузера:
details: undefined
error: "no-index"
errorType: "Meteor.Error"
isClientSafe: true
message: "Please provide an index for your component [no-index]"
reason: "Please provide an index for your component"
stack: "Error: Please provide an index for your component [no-index]
Ниже приведен мой код:
.. / import / api / tasks.js
import { Mongo } from "meteor/mongo";
import { Index, MinimongoEngine } from 'meteor/easy:search';
global.recipientsDetails = new Mongo.Collection("recipients");
global.recipientsDetailsIndex = new Index({
collection: recipientsDetails,
fields: ['recipientNumber', 'recipientAmount'],
engine: new MinimongoEngine(),
})
.. /client / main.js
import '../imports/api/tasks.js';
Template.navigationMenu.helpers({
enableButtonSearchResults: () => recipientsDetailsIndex,
});
.. / client / main.html
<template name="navigationMenu">
{{#EasySearch.Each index=recipientsDetailsIndex}}
<ul>
{{#EasySearch.Each index=recipientsDetailsIndex }}
<li>Recipients Number: {{recipientNumber}}</li>
{{/EasySearch.Each}}
</ul>
</template>
Что мне кажется странным, так это то, что когда я кормлюв следующем коде в консоли браузера:
var cursor = recipientsDetailsIndex.search("705087688");
// search all docs that contain "705087633" in the recipientNumber field.
console.log(cursor.fetch());
Следующие результаты в консоли браузера:
[{…}]
0:
paymentDate: "2019-04-08 23:20:01"
recipientAmount: "110"
recipientNumber: "+254705087688"
_id: "Wo4oZNzs5fLTqadcn"
Приведенные выше результаты показывают, что пакет поиска Elastic работает, и ошибкав шаблоне, хотя я могу ошибаться.
Пожалуйста, помогите указать, что я пропустил или ошибся в шаблоне или в другом месте ...