mongodb, finding by coordinate + query

I'm building a web application over Node.js and MongoDB which is based on geolocated points.

The document is something like this:

{ name: ""
keywords: [Array of strings]
location: {lng: double, lat: double } 
}

I am wondering how could I use find() to find documents that are near from a coordinate but, in addition, are coincident with any of he keywords in the keywords array.

Imagine that keywords are: ["restaurant", "bar", "coffee"]

I've looked into 2d Index, but the secondary index must be a string. It can't be an array of strings.

The problem is that a document could have more than one keyword (or category) so I can't use a simple string to query them

How would you implement this?

Thanks!

What version of mongo? It looks like this was added in 2.4.0: SERVER-8457