I have a collection called Event, I have created a Mongo Playground with some sample data here: https://mongoplayground.net/p/DNfmIMLIs2N
I am trying to query a collection where the value of an unknown key matches my query value. I have 2 practical examples.
Example 1: Each event has a "pricingDict" which is a keyed object, the key is the currency and the value is the amount, eg. {usd : 40.50, aud: 60.25}. I want to be able to find all events where they have a pricingDict with a value greater than 0, regardless of the currency.
What I was hoping to do was something like this:
db.collection("Event").find({"pricingDict.*": { $gt: 0 }})
Based on the sample data above I would expect this to return event2
and event3
Example 2: That same event class will have a keyed object called "eventManagers", the key will be the userId, and the value will be an object, which in turn will have a key called role. I want to be able to find all events where they have a user with the role of "Admin"
What I was hoping to do was something like this:
db.collection("Event").find({"eventManagers.*.role": "Admin"})
Based on the sample data above I would expect this to return event1
and event3