Search.../

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 an array of String, Number, or Date types as the value parameters.

Syntax

function hasAll(propertyName: string, value: string | number | Date | Array<*>): WixDataQuery

hasAll Parameters

NAME
TYPE
DESCRIPTION
propertyName
string

The property whose value will be compared with value.

value
string | number | Date | Array<*>

The values to match against.

Returns

A WixDataQuery object representing the refined query.

Return Type:

Was this helpful?

Add a has all filter to a query

Copy Code
1let newQuery = query.hasAll("sizes", [30, 38, 42]);
Create a query, add a has all filter, and run it

Copy Code
1import wixData from 'wix-data';
2
3// ...
4
5wixData.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 found
22 }
23 })
24 .catch((error) => {
25 let errorMsg = error.message;
26 let code = error.code;
27 });
Create a query, add a has all filter, and run it

Copy Code
1import wixData from 'wix-data';
2
3// ...
4
5wixData.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 found
25 }
26 })
27 .catch((error) => {
28 let errorMsg = error.message;
29 let code = error.code;
30 });