# Cannot cast from \[Long\] to \[long\]. Painless script in query

**URL:** <https://discuss.elastic.co/t/cannot-cast-from-long-to-long-painless-script-in-query/250537>\
**Category:** Elasticsearch\
**Tags:** painless\
**Created:** [September 30, 2020, 4:00pm UTC](https://discuss.elastic.co/t/cannot-cast-from-long-to-long-painless-script-in-query/250537 "2020-09-30T16:00:02Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![awatkins](https://avatars.discourse-cdn.com/v4/letter/a/ecccb3/32.png) [@awatkins](https://discuss.elastic.co/u/awatkins)\
**Post date:** [September 30, 2020, 4:00pm UTC](https://discuss.elastic.co/t/cannot-cast-from-long-to-long-painless-script-in-query/250537/1 "2020-09-30T16:00:03Z")

</div>

Getting error, "Cannot cast from [Long] to [long]" and have tried many many things to no avail.

**The data to query against:**

```auto
"Data": {
	"Number of Components": 3,
	"Number of Components Array": [
		{
			"Component": 1,
			"Number of Foos": 0,
			"Number of Foos Array": []
		},
		{
			"Component": 2,
			"Number of Foos": 0,
			"Number of Foos Array": []
		},
		{
			"Component": 3,
			"Number of Foos": 1,
			"Number of Foos Array": [
				{
				  "Foo State": "Bar",
				  "Foo Name Text": "Boogada Boogada"
				}
			]
		}
	]
}

```

**The "Painless" script:**

```auto
boolean retVal = false;
if (doc[\"Data.Number of Components\"].value > 0){
	Long[] numFoos = doc[\"Data.Number of Components Array.Number of Foos\"].values;
	for (def i = 0; i < numFoos.length; i++) {
		if (numFoos[i] > 0L) {
			ArrayList foosArray = doc[\"Data.Number of Components Array\"][i][\"Number of Foos Array\"].value;
			String fooText = foosArray[i][\"Foo Name Text\"].value;
			if(fooText.compareTo(\"Boogada Boogada\") == 0){ 
				retVal = true;
			}
		} 
	}
}
return retVal;

```

**The error:**

```auto
"caused_by": {
	"type": "script_exception",
	"reason": "compile error",
	"script_stack": [
	  "... i++){if (numFoos[i] > 0L) {ArrayList foos ...",
	  " ^---- HERE"
	],
	"script": """<my code>""",
	"lang": "painless",
	"caused_by": {
	  "type": "class_cast_exception",
	  "reason": "Cannot cast from [Long] to [long]."
	}
}

```

---

<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 28, 2020, 4:00pm UTC](https://discuss.elastic.co/t/cannot-cast-from-long-to-long-painless-script-in-query/250537/2 "2020-10-28T16:00:05Z")

</div>

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