My JSON is as follows:
# Example static JSON payload
request = {"menu": {
"id": "file",
"value": "File",
"popup": {
"menuitem": [
{"value": "New", "onclick": "CreateNewDoc()"},
{"value": "Open", "onclick": "OpenDoc()"},
{"value": "Close", "onclick": "CloseDoc()"}
]
}
}}
Using PyMongo I want to get menuitem
with "value" : "New"
.
Currently I tried request = {'query': {"menuitem.value": "New"}}
and sent this request
as requests.get(url, json=request)
At the server-side I am executing the query by doing
cursor = mongo.db[collection_name].find(query)
Now this is returning an empty value {}
.
However, when I send the query as
request = {'query': {"menu.popup.menuitem.value": "New"}}
it returns
{'_id': '5c815445d866fc261c400e88',
'menu': {'id': 'file',
'popup': {'menuitem': [{'onclick': 'CreateNewDoc()', 'value': 'New'},
{'onclick': 'OpenDoc()', 'value': 'Open'},
{'onclick': 'CloseDoc()', 'value': 'Close'}]},
'value': 'File'}}
How can I get the menuitem
record with 'value':'New'
only?