I have a MongoDB that I use with python. My entries that looks as follows:
{
a: something
b: something
c: {
d: something
e: something
f: something
}
}
I want to query for entries that have a specific values for d and e but I don't care about the value in f.
I tried not specifying f at all (similarly to when I don't care about the b value where I just not adding it to the query):
{
a: a_value
b: b_value
c: {
d: d_value
e: e_value
}
}
I also tried to use:
{
a: something
b: something
c: {
d: something
e: something
f: { $exists : 1 }
}
}
but none of these worked (in fact, I got no results at all)
How my query shall look like?
thanks!
Access Values using get() Another way to access value(s) in a nested dictionary ( employees ) is to use the dict. get() method. This method returns the value for a specified key. If the specified key does not exist, the get() method returns None (preventing a KeyError ).
Accessing embedded/nested documents – In MongoDB, you can access the fields of nested/embedded documents of the collection using dot notation and when you are using dot notation, then the field and the nested field must be inside the quotation marks.
Use the $elemMatch operator to query embedded documents. Use conditional operators to query embedded documents. Use Visual Query Builder to query embedded documents.
To search the array of object in MongoDB, you can use $elemMatch operator. This operator allows us to search for more than one component from an array object.
I found the solution. The query shall look as follows:
{
a: something
b: something
c.d: something
c.e: something
}
I hope it helps someone :-)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With