How to publish and subscribe for filter in large data

members = 5,xxx,xxx row

Meteor.publish('members', function (keyword) 
{
    return MemberCollection.find({},{
        fields:{
            name:1,
            address:1,
            phone:1,
        },
        limit: 100
    });
});
meteor:{
        $subscribe: {'members':[]},
        members()
        {
            let search = {name:{
                '$regex': this.keyword,
                '$options': 'i'
            }}
            return MemberCollection.find(search).fetch();
        }
 }

cannot search all member
client search in members 100 only not search all member

how to search all member but display 100 result.
because if not set limit to 100 , program is very slowly

Thank you.

Try to send the search parameters to the server also in the publish argument, so you only send members matching the search to the client in the first place.

@jorgeer
i try change code

Meteor.publish('members', function (keyword) 
{
     let search = {name:{
          '$regex': keyword,
          '$options': 'i'
     }}
    return MemberCollection.find(search,{
        fields:{
            name:1,
            address:1,
            phone:1,
        },
        limit: 100
    });
});
meteor:{
        $subscribe: {'members':[this.keyword]},
        members()
        {
            return MemberCollection.find({}).fetch();
        }
 }

tracker 1 time only then start
how to config for tracker every time then this.keyword changed