hasSome( )
Creates a search filter for matching documents whose specified field contains any of the specified values.
Description
The hasSome()
function is chained to a WixSearchFilterBuilder
to create a WixSearchFilter
.
You can use the filter to match documents where any of the values of the array in the specified field equal any of
the specified values.
Matching strings with hasSome()
is case sensitive, so "text"
is not equal to "Text"
.
Syntax
function hasSome(field: string, values: Array<string>): WixSearchFilter
hasSome Parameters
NAME
TYPE
DESCRIPTION
The field whose value will be compared with values
. The field type must be an array of strings.
The values to match against.
Returns
A WixSearchFilter
object.
Return Type:
NAME
TYPE
DESCRIPTION
An object containing the filter definition.
Was this helpful?
1import wixSearch from 'wix-search';23// ...45const hasSomeFilter = wixSearch6 .filter()7 .hasSome("hashtags", ["vacation", "summer", "fun"]);
This example demonstrates how to create a filter that will search for forum posts that don't contain any of the specified hashtags.
1import wixSearch from 'wix-search';23// ...45const filterBuilder = wixSearch.filter();67const hasSomeFilter = filterBuilder.hasSome("hashTags", ["promotion", "ad", "tip"]);89const notFilter = filterBuilder.not(hasSomeFilter);
This example demonstrates how to create filters that search for forum posts that are not in the specified
category, that were posted by one of the specified owners, and that contain at least one of the specified hashtags.
The filters are joined and chained to a search using an and()
filter.
1import wixSearch from 'wix-search';23// ...45const filterBuilder = wixSearch.filter();67const inFilter = filterBuilder.in("owner", ["04b11aa6-d0a0-4c7a-a444-f4a5e452840c", "21cf071a-cc2f-444f-ad74-5a25db0b1b6a"]);89const hasSomeFilter = filterBuilder.hasSome("hashTags", ["summer", "fun", "vacation"]);1011const neFilter = filterBuilder.ne(categoryId, "5df7504fa8a9b30017fc1053");1213wixSearch.search(phrase)14 .documentType("Forum/Content")15 .and(inFilter, hasSomeFilter, neAllFilter)16 .find()17 .then( (results) => {18 if(results.documents.length > 0) {19 let documents = results.documents;20 } else {21 console.log("No matching results");22 }23 })24 .catch( (error) => {25 console.log(error);26 });