私はmeteor.users
コレクションをユーザ名で検索しようとしています。Meteor.usersでユーザー名全文を検索
hereの手順をすべて実行しましたが、うまく動作しないようです。meteor.users
ここで
そのために私が持っているコードです:
は、サーバー起動時に:クライアントで
Meteor.publish("Meteor.users.userSearch",function(searchVal){
if(!searchVal){
return Meteor.users.find({});
}
return Meteor.users.find({$text:{$search:searchVal}});
});
:
Template.foo.helpers({
users(){
var searchValue = Session.get('searchVal');
Meteor.subscribe('Meteor.users.userSearch',searchValue);
return Meteor.users.find({});
}
});
私の公開機能で
Meteor.startup(function(){
Meteor.users._ensureIndex({
"username":"text",
});
});
誰かが嘆願できますか?私は上記の何が間違っているのか理解してもらえますか?
searchValue
がない場合、正しく動作し、すべてのユーザーが返されます。検索値があるとすぐに、ユーザーはまったく返されません。
また、mongodbコンソールdb.users.find({$text:{$search:"some_test"}})
で直接試してみましたが、やはりコレクションオブジェクトが返されません。
あなたのコードは大丈夫のようです。私は問題があなたの検索価値であると思う、Mongoは文字でない単語またはフレーズを検索する – Khang
あなたの助手の外であなたのサブを動かしてみましたか: Template.template.onCreated(this.autorun(function(){ Meteor.subscribe( 'Meteor.users.userSearch'、searchValue); }) –
@Khang ouuhはい、それを理解していただきありがとうございます!完全なユーザー名を書き留めると、すぐにポップアップします...文字で検索する方法を知っていますか? (私がしようとしているのは、 '' '' '' 'keyup'''イベントで' 'searchVal'''が更新される動的検索です!) – EugVal