Merge without label

I have a graph with many types of nodes in it (different node labels). But all the nodes have a Name attribute, no matter what the Label type is. I am using normal ForEach loops (I am willing to change that if needed) so I cannot, inside the ForEach loop, use a match with a where clause/mechanism, to find the Node by its Name attribute, but I need to so I can bind other nodes to it. how do I get an "instance variable" to any node with that. I cannot seem to add a where clause to a merge like you would do for a match (I can't use a match inside a ForEach).
merge (reqUnit) where (reqUnit.Name = "theUnitName") return reqUnit
will not of course, work.. any ideas, thanks again Guys!

 merge  (source) –[:goesTo]->(dest:*ANYTHING*{Name:row.destName)}) 

kind of mechanism..
thanks guys!

You can add the predicate as properties. This is called an implied ‘where’ clause.

merge (reqUnit {Name: "theUnitName"})
return reqUnit

Btw, you should always use labels. The search performance will be better. Pulse you need a label to create an index, which best practice when searching over key properties.

You can’t match in a forEach loop. Use “unwind” if you need to match.

Thanks Gary
Wow
I didn’t know that !
Thanks man