hasAll( )
Creates a search filter for matching documents whose specified field value contains all of the specified values.
Description
The hasAll()
function is chained to a WixSearchFilterBuilder
to create a WixSearchFilter
.
You can use the filter to match documents where the values of the array in the specified field equal all of
the specified values.
Matching strings with hasAll()
is case sensitive, so "text"
is not equal to "Text"
.
Syntax
function hasAll(field: string, values: Array<string>): WixSearchFilter
hasAll 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 representing the refined query.
Return Type:
NAME
TYPE
DESCRIPTION
An object containing the filter definition.
Was this helpful?
1import wixSearch from 'wix-search';23// ...45const hasAllFilter = wixSearch6 .filter()7 .hasAll("hashtags", ["vacation", "summer", "fun"]);
This example demonstrates how to create filters that search for forum posts in a specific forum
category, that contain the hashtags "summer" and "fun", and that were posted/updated on or after January 1, 2020.
The filters are joined and chained to a search using an and()
filter.
1import wixSearch from 'wix-search';23// ...45const filterBuilder = wixSearch.filter();67const gtFilter = filterBuilder.gt("lastActivityDate", "2020-01-01T00:00:00.000Z");89const hasAllFilter = filterBuilder.hasAll("hashTags", ["summer", "fun"]);1011const eqFilter = filterBuilder.eq(categoryId, "5df7504fa8a9b30017fc1053");1213wixSearch.search(phrase)14 .documentType("Forum/Content")15 .and(gtFilter, hasAllFilter, eqFilter)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 });