Searching a Databag

I m trying to search my databag from the recipe using below method.
My databag is like:
{
"id": "abc",
"value": "1.1.1.1"
}
then in recipe:
cq = search(:data_bag, 'id: "abc"')
then i m grabbing the corresponding ip address.
puts cq[0]['value'] and I get the proper data i.e. 1.1.1.1 which is what I am looking for.

But I have a requirement wherein abc id is in a variable and I want to search using that variable in the databag file. something like below but it doesnt work. I tried using escape character(might be something wrong there) but nothing works. Could anyone please guide me on how can I achieve this? I just want to understand on how can i search the value using a variable but not hardcoding it in the command search(.....)
My variable : node.run_state['datacentre']

cq = search(:data_bag, 'id: "node.run_state['datacentre']"')

The search for databag item is enclosed in single quotes, and that's why interpolation of the node.run_state['datacentre'] attribute is not working. Also, we need to wrap the node attribute within #{}. Changing the databag search to something like below should work:

cq = search(:data_bag, "id: \"#{node.run_state['datacentre']}\"")

Thanks alot Seshadri. This works.
I wasnt getting that escaping/#ing of variable since new to chef. Again thanks alot for your time.