2016-05-06 10 views
1

Ich schreibe eine Meteor App und ich versuche, eine Autocomplete-Funktion zu einem Suchfeld hinzuzufügen. Die Daten sind sehr groß und befinden sich auf dem Server, daher kann ich nicht alles auf dem Client haben. Es ist im Grunde eine Datenbank von Benutzern. Wenn ich nicht falsch liege, sollte das mizzao:autocomplete Paket dies möglich machen, aber ich kann nicht scheinen, es zur Arbeit zu bringen.Meteor Autocomplete Server-Seite

Hier ist, was ich auf dem Server:

Meteor.publish('autocompleteViewers', function(selector, options) { 
    Autocomplete.publishCursor(viewers.find(selector, options), this); 
    this.ready(); 
}); 

Und hier sind die Einstellungen, die ich für das Suchfeld auf dem Client verwenden:

getSettings: function() { 
    return { 
     position: 'bottom', 
     limit: 5, 
     rules: [{ 
     subscription: 'autocompleteViewers', 
     field: '_id', 
     matchAll: false, 
     options: '', 
     template: Template.vLegend 
     }], 
    }; 
    } 

Aber ich halte immer diese Fehlermeldung auf dem Client :

Error: Collection name must be specified as string for server-side search at validateRule 

Ich verstehe nicht wirklich das Problem. Wenn ich mir den Paketcode ansehe, scheint es so zu sein, als ob er testet, ob das Subskriptionsfeld eine Zeichenfolge und keine Variable ist. Irgendeine Idee, was das Problem sein könnte? Gibt es sonst ein minimales Arbeitsbeispiel, von dem ich irgendwo hingehen könnte? Ich konnte in den Dokumenten keinen finden.

Antwort

1
Error: Collection name must be specified as string for server-side search at validateRule 

Sie diesen Fehler erhalten, weil Sie in Anführungszeichen keine Collection Namen angeben.

getSettings: function() { 
return { 
    position: 'bottom', 
    limit: 5, 
    rules: [{ 
    subscription: 'autocompleteViewers', 
    field: '_id', 
    matchAll: false, 
    collection: 'viewers', // <- specify your collection, in your case it is a "viewers" collection. 
    options: '', 
    template: Template.vLegend 
    }], 
}; 

}

Für weitere Informationen lesen Sie bitte here.

Hoffe, das hilft!

Verwandte Themen