# NEST Query in lIst question

**URL:** <https://discuss.elastic.co/t/nest-query-in-list-question/46838>\
**Category:** Elasticsearch\
**Created:** [April 8, 2016, 5:09pm UTC](https://discuss.elastic.co/t/nest-query-in-list-question/46838 "2016-04-08T17:09:51Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Adam\_Whittaker](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/adam_whittaker/32/75325_2.png) [@Adam\_Whittaker](https://discuss.elastic.co/u/Adam_Whittaker)\
**Post date:** [April 8, 2016, 5:09pm UTC](https://discuss.elastic.co/t/nest-query-in-list-question/46838/1 "2016-04-08T17:09:51Z")

</div>

Hello, i am using NEST to query Elastic from my C# app and was wondering if there was a way to pass in a list of string to the term query?

I currently have something similar with SOLR (SolrQueryInList("FIELDNAME", array of terms)

I am currently doing this  
var result = client.Search(s =\> s  
.Size(0)  
.Query(q =\> q  
.Term(p =\> p.createdby, "USERID1") || q.Term(p =\> p.createdby, "USERID2") || q.Term(p =\> p.createdby, "USERID3"))

I would rather pass in a list of users since i have quite a few to pass into my query.

Is this possible?

Thanks,

---

<div class="post-metadata">

**Author:** ![forloop](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/forloop/32/9021_2.png) [@forloop](https://discuss.elastic.co/u/forloop)\
**Post date:** [April 9, 2016, 7:52am UTC](https://discuss.elastic.co/t/nest-query-in-list-question/46838/2 "2016-04-09T07:52:27Z")

</div>

what version of NEST and version of Elasticsearch are you targeting?

---

<div class="post-metadata">

**Author:** ![Adam\_Whittaker](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/adam_whittaker/32/75325_2.png) [@Adam\_Whittaker](https://discuss.elastic.co/u/Adam_Whittaker)\
**Post date:** [April 11, 2016, 12:41pm UTC](https://discuss.elastic.co/t/nest-query-in-list-question/46838/3 "2016-04-11T12:41:36Z")

</div>

@forloop I am using NEST 2.1.1 with Elastic Search 2.2.0.

Thanks

---

<div class="post-metadata">

**Author:** ![forloop](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/forloop/32/9021_2.png) [@forloop](https://discuss.elastic.co/u/forloop)\
**Post date:** [April 11, 2016, 10:36pm UTC](https://discuss.elastic.co/t/nest-query-in-list-question/46838/4 "2016-04-11T22:36:52Z")

</div>

You can use the [Terms Query](https://www.elastic.co/guide/en/elasticsearch/client/net-api/2.x/terms-list-query-usage.html). Either

```auto
var result = client.Search<Document>(s => s
    .Query(q => q
        .Terms(t => t
           .Field(p => p.createdby)
           .Terms("USERID1", "USERID2", "USERID3")
        )
    )
);

```

or

```auto
var result = client.Search<Document>(s => s
    .Query(q => q
        .Terms(t => t
           .Field(p => p.createdby)
           .Terms<string>(new List<string>{ "USERID1", "USERID2", "USERID3" })
        )
    )
);

```

If passing some kind of `IEnumerable<T>` to `Terms<T>()`, I would recommend explicitly specifying the type of `T` as I have done above with `string` in the second example; In NEST 2.x prior to 2.1.0, not specifying the generic parameter type meant that the `params T[]` overload of `Terms()` was incorrectly called.

---

<div class="post-metadata">

**Author:** ![Adam\_Whittaker](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/adam_whittaker/32/75325_2.png) [@Adam\_Whittaker](https://discuss.elastic.co/u/Adam_Whittaker)\
**Post date:** [April 12, 2016, 12:33am UTC](https://discuss.elastic.co/t/nest-query-in-list-question/46838/5 "2016-04-12T00:33:34Z")

</div>

Awesome.. thank you very much

---

<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:** [July 5, 2017, 11:00pm UTC](https://discuss.elastic.co/t/nest-query-in-list-question/46838/6 "2017-07-05T23:00:30Z")

</div>


