hasAll( )
Refines a query or filter to match items whose specified property values equals all of the specified value
parameters.
Description
The hasAll()
function refines a WixDataQuery
or WixDataFilter
to
only match items where the value of the specified property equals all of
the specified values.
Matching strings with hasAll()
is case sensitive, so "text"
is not equal to "Text"
.
If the value of the specified property is an array, hasAll()
will match
if there is a match in the elements of that array for all of the specified
values.
You can specify a list of values to match by providing comma-separated
String, Number, or Date types as the value
parameters. You can also
specify a list of these values by including them in an array and providing
the array as the value
.
Syntax
function hasAll(propertyName: string, value: string | number | Date | Array<*>): WixDataQuery
hasAll Parameters
NAME
TYPE
DESCRIPTION
string
The property whose value will be compared with value
.
string | number | Date | Array<*>
The values to match against.
Was this helpful?
Code Example
1let newQuery = query.hasAll("colors", ["red", "yellow", "blue"]);23// or45let newQuery = query.hasAll("colors", "red", "yellow", "blue");
Code Example
1import wixData from 'wix-data';23// ...45wixData.query("myCollection")6 .hasAll("colors", ["red", "yellow", "blue"])7 .find()8 .then( (results) => {9 if(results.items.length > 0) {10 let items = results.items;11 let firstItem = items[0];12 let totalCount = results.totalCount;13 let pageSize = results.pageSize;14 let currentPage = results.currentPage;15 let totalPages = results.totalPages;16 let hasNext = results.hasNext();17 let hasPrev = results.hasPrev();18 let length = results.length;19 let query = results.query;20 } else {21 // handle case where no matching items found22 }23 } )24 .catch( (error) => {25 let errorMsg = error.message;26 let code = error.code;27 } );
Code Example
1import wixData from 'wix-data';23// ...45wixData.query("myCollection")6 .hasAll("colors", ["red", "yellow", "blue"])7 .gt("age", 25)8 .ascending("last_name", "first_name")9 .limit(10)10 .find()11 .then( (results) => {12 if(results.items.length > 0) {13 let items = results.items;14 let firstItem = items[0];15 let totalCount = results.totalCount;16 let pageSize = results.pageSize;17 let currentPage = results.currentPage;18 let totalPages = results.totalPages;19 let hasNext = results.hasNext();20 let hasPrev = results.hasPrev();21 let length = results.length;22 let query = results.query;23 } else {24 // handle case where no matching items found25 }26 } )27 .catch( (error) => {28 let errorMsg = error.message;29 let code = error.code;30 } );