# OR Filter Is Not Working

**URL:** <https://forum.wixstudio.com/t/or-filter-is-not-working/8540>\
**Category:** Ask the community\
**Tags:** question, code\
**Created:** [December 23, 2020, 4:50pm UTC](https://forum.wixstudio.com/t/or-filter-is-not-working/8540 "2020-12-23T16:50:48Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![kwikwisi](https://avatars.discourse-cdn.com/v4/letter/k/b9bd4f/32.png) [@kwikwisi](https://forum.wixstudio.com/u/kwikwisi)\
**Post date:** [December 23, 2020, 4:50pm UTC](https://forum.wixstudio.com/t/or-filter-is-not-working/8540/1 "2020-12-23T16:50:48Z")

</div>

I have search function with the code below.  
Filter.or function is not working and throwing error ’ WDE0049: Invalid .or parameter [Object]. .or expects FilterBuilder only.’  
Any help ?  
Thanks.

**if** (keywords) {  
filter = filter.contains( “title” , keywords);  
filter = filter.or(wixData.query( “MPP-Edu-Schools” ).hasSome( “searchKeywords” , keywords));  
filter = filter.or(wixData.query( “MPP-Edu-Schools” ).hasSome( “subCategoriesTags” , keywords));  
}

**if** (city)

```
{ 

```

**if** (city && city !== “Other” )  
filter = filter.eq( ‘city’ , city);

**if** (city && city === “Other” ) {  
filter = filter.ne( ‘city’ , “xxx” );  
filter = filter.ne( ‘city’ , “yyy” );  
filter = filter.ne( ‘city’ , “zzz” );

```
    } 
} 

```

**await** $w( “#dsSchools” ).setFilter(filter)

---

<div class="post-metadata">

**Author:** ![J.D](https://sea1.discourse-cdn.com/wix/user_avatar/forum.wixstudio.com/j.d/32/7312_2.png) [@J.D](https://forum.wixstudio.com/u/J.D)\
**Post date:** [December 23, 2020, 5:56pm UTC](https://forum.wixstudio.com/t/or-filter-is-not-working/8540/2 "2020-12-23T17:56:08Z")

</div>

You can’t put wixData.query in a dataset filer

---

<div class="post-metadata">

**Author:** ![CODE-NINJA](https://sea1.discourse-cdn.com/wix/user_avatar/forum.wixstudio.com/code-ninja/32/110588_2.png) [@CODE-NINJA](https://forum.wixstudio.com/u/CODE-NINJA)\
**Post date:** [December 24, 2020, 8:03am UTC](https://forum.wixstudio.com/t/or-filter-is-not-working/8540/3 "2020-12-24T08:03:41Z")

</div>

Like J.D. already said, you get problems when trying to mix DATA-results with DATASET-filter.

To solve your problem, try this one…

```javascript
let DATABASE = "Here_Your_Collection"
let REFERENCE = "Here_Your_Referencefield"
let item = "Here_Your_Item"
let uniqueItems = []
let myFilter=[]

CB1 = $w('#myCheckboxGroup1').value

 for (var i = 0; a < CB1.length; a++) {
    wixData.query(DATABASE)
    .eq(REFERENCE, CB1[a])
    .find()
    .then(async res => {  
        for (var i = 0; i < res.items.length; i++) {
             let ITEM = await res.items[i]
             let ID = await res.items[i]._id
             console.log("ITEM = ",ITEM)
             console.log("ID = ",ID)
             
             if(myFilter.includes(ID)) {console.log("TRUE")}
             else {console.log("FALSE")
                myFilter.push(ID), 
                await uniqueItems.push(ITEM)}
             }
             console.log("myFilter= ", myFilter)
             console.log("Unique-Items = " , uniqueItems)
        }
    })
}    

```

This should give back, all unique items. ----\> [uniqueItems]

```javascript
console.log(uniqueItem[0])
console.log(uniqueItem[1])
console.log(uniqueItem[2])
console.log(uniqueItem[3])
//and so on...

```

Code is not tested. —\> Just some brainstorming!

An working example, you will be able to see soon here…[still in DEVELOPMENT]  
[https://www.media-junkie.com/pflegeservice](https://www.media-junkie.com/pflegeservice)

---

<div class="post-metadata">

**Author:** ![mnazwan](https://avatars.discourse-cdn.com/v4/letter/m/2acd7d/32.png) [@mnazwan](https://forum.wixstudio.com/u/mnazwan)\
**Post date:** [March 4, 2021, 2:04am UTC](https://forum.wixstudio.com/t/or-filter-is-not-working/8540/4 "2021-03-04T02:04:28Z")

</div>

Documentation stated should use WixDataQuery when using or() with WixDataFilter

> **[or - Velo API Reference - Wix.com](https://www.wix.com/velo/reference/wix-data/wixdatafilter/or)**
>
> Adds an or condition to the query or filter. The or() function adds an inclusive or condition to a WixDataQuery or WixDataFilter. A query or filter with an or ...

---

<div class="post-metadata">

**Author:** ![mnazwan](https://avatars.discourse-cdn.com/v4/letter/m/2acd7d/32.png) [@mnazwan](https://forum.wixstudio.com/u/mnazwan)\
**Post date:** [March 4, 2021, 2:13am UTC](https://forum.wixstudio.com/t/or-filter-is-not-working/8540/5 "2021-03-04T02:13:17Z")

</div>

Try replacing wixData.query( “MPP-Edu-Schools” ) with wixData . filter () in your or() function
