> Portal Navigation: > > - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version. > - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages). > - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`). > - Top-level index of all portals: https://dev.wix.com/docs/llms.txt > - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt # Method name: hasSome(propertyName: string, value: any) # Method package: wixData # Method menu location: wixData --> WixDataQuery --> hasSome # Method Link: https://dev.wix.com/docs/velo/apis/wix-data/wix-data-query/has-some.md # Method Description: Refines a query or filter to match items whose specified property value equals any of the specified `value` parameters. The `hasSome()` function refines a `WixDataQuery` or `WixDataFilter` to only match items where the value of the specified property equals any of the specified values. Matching strings with `hasSome()` is case sensitive, so `"text"` is not equal to `"Text"`. If the value of the specified property is an array, `hasSome()` will match if any of the elements of that array match any of the specified values. If the specified property contains multiple references, pass item IDs in the `value` property. In such a case, `hasSome()` will match if any of the multiple references match any of the specified ID values. You can specify a list of values to match by providing an array of String, Number, or Date types as the `value` parameters. # Method Code Examples: *** Note: do not assume any prop names or enum values other than the ones in the example. ## Add a has some filter to a query ```javascript let newQuery = query.hasSome("sizes", [30, 38, 42]); ``` ## Create a query, add a has some filter, and run it ```javascript import wixData from 'wix-data'; // ... wixData.query("myCollection") .hasSome("colors", ["red", "yellow", "blue"]) .find() .then((results) => { if(results.items.length > 0) { let items = results.items; let firstItem = items[0]; let totalCount = results.totalCount; let pageSize = results.pageSize; let currentPage = results.currentPage; let totalPages = results.totalPages; let hasNext = results.hasNext(); let hasPrev = results.hasPrev(); let length = results.length; let query = results.query; } else { // handle case where no matching items found } }) .catch((error) => { let errorMsg = error.message; let code = error.code; }); ``` ## Create a query, add a has some filter, and run it ```javascript import wixData from 'wix-data'; // ... wixData.query("myCollection") .hasSome("colors", ["red", "yellow", "blue"]) .gt("age", 25) .ascending("last_name", "first_name") .limit(10) .find() .then((results) => { if(results.items.length > 0) { let items = results.items; let firstItem = items[0]; let totalCount = results.totalCount; let pageSize = results.pageSize; let currentPage = results.currentPage; let totalPages = results.totalPages; let hasNext = results.hasNext(); let hasPrev = results.hasPrev(); let length = results.length; let query = results.query; } else { // handle case where no matching items found } }) .catch((error) => { let errorMsg = error.message; let code = error.code; }); ``` ## Add a has some filter on a multiple reference field to a query ```javascript import wixData from 'wix-data'; // ... wixData.query("movies") .hasSome("actors", ["1357", "2468"]) .find() .then((results) => { if(results.items.length > 0) { let items = results.items; let firstItem = items[0]; let totalCount = results.totalCount; let pageSize = results.pageSize; let currentPage = results.currentPage; let totalPages = results.totalPages; let hasNext = results.hasNext(); let hasPrev = results.hasPrev(); let length = results.length; let query = results.query; } else { // handle case where no matching items found } }) .catch((error) => { let errorMsg = error.message; let code = error.code; }); ``` ---