Suppose I have several documents like so
{
title: 'blah',
value: {
"A": {property: "foo"},
"B": {property: "bar"},
"C": {property: "foo"},
"D": {property: "foo"}
}
}
{
title: 'blah2',
value: {
"A": {property: "bar"},
"B": {property: "bar"},
"C": {property: "bar"},
"D": {property: "foo"}
}
}
What mongodb query will get me all of the documents / hash keys that have {property: "foo"}
(I know this can be done using js after the query, but can it be done within the query itself?)
The trouble is that there’s no wildcard for object keys (see https://jira.mongodb.org/browse/SERVER-267), so you wouldn’t be able to do this without listing all of the keys in your “value”. That might be an option if you know what all of the keys are, but I imagine you don’t.
If you converted “value” to an array rather than an object, you could do a query easily (which would return the documents, not the hash keys).