# Query to return documents with id not in a list

**URL:** <https://discuss.elastic.co/t/query-to-return-documents-with-id-not-in-a-list/314114>\
**Category:** Elasticsearch\
**Created:** [September 10, 2022, 2:15pm UTC](https://discuss.elastic.co/t/query-to-return-documents-with-id-not-in-a-list/314114 "2022-09-10T14:15:27Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Ivo\_Tavares](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/ivo_tavares/32/110022_2.png) [@Ivo\_Tavares](https://discuss.elastic.co/u/Ivo_Tavares)\
**Post date:** [September 10, 2022, 2:15pm UTC](https://discuss.elastic.co/t/query-to-return-documents-with-id-not-in-a-list/314114/1 "2022-09-10T14:15:28Z")

</div>

I'm trying to create a query, but I don't want the query to return documents which have already been fetched in a previous query.  
Here's the JSON

```auto
{'query': {'bool': {'filter': [{'term': {'tag': 'name'}},
    {'bool': {'must_not': [{'terms': {'meta.id': list_ids_already_fetched}}]}}]}},
 '_source': {'includes': ['data.subfield']}}

```

However, it seems that the query returns terms whose meta.id are in list\_ids\_already\_fetched.

I've also done:

```auto
{'query': {'bool': {'must': [{'term': {'tag': 'name'}}],
   'must_not': [{'terms': {'meta.id': list_ids_already_fetched}}]}}}

```

but doesn't seem to work either.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [October 8, 2022, 2:16pm UTC](https://discuss.elastic.co/t/query-to-return-documents-with-id-not-in-a-list/314114/2 "2022-10-08T14:16:29Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
