You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ResultsModel.find_one({ 'order.customer.customer_id': customer_id, 'order_source': order_source, })
(using customer_id instead of id (same value)) works - returns Data
Here, order.customer.id is of type int
and order is of type fields.DictField()
Note: Creating Embedded Docs. work, but in my case orders is a complex nested structure and it may have varying structures so cannot fix the schema. Hence using fields.DictField() instead of fields.EmbeddedField()
The text was updated successfully, but these errors were encountered:
Looked up the umongo library code, looks like we are using a recursive filed mapper, and the default name of primaryKey ( _id ), is put as id. Hence this matches our type and converts every id (not embedded fields) to _id, Hence due to filed mismatch we don't get back the data.
Removing the below snippet returns data as we are not fetching the matching attribute anymore.
(Updated logic)
(Existing logic with some logs (added by me))
But looks like the problem can have a permanent solution by naming the _id filed as _id only (in the library implementation) and not id.
PraveenKumarPalai
changed the title
'id; based query other than of type ObjectId is returning None
'id' based query other than of type ObjectId is returning None
Mar 12, 2022
This is the issue that I am facing:
ResultsModel.find_one({ 'order.customer.id': customer_id, 'order_source': order_source, })
returns None
Whereas,
ResultsModel.find_one({ 'order.customer.customer_id': customer_id, 'order_source': order_source, })
(using customer_id instead of id (same value)) works - returns Data
Or
ResultsModel.find_one({ 'order.customer.email': customer_email, 'order_source': order_source, })
returns Data
Here,
order.customer.id
is of typeint
and order is of type fields.DictField()
Note: Creating Embedded Docs. work, but in my case orders is a complex nested structure and it may have varying structures so cannot fix the schema. Hence using
fields.DictField()
instead offields.EmbeddedField()
The text was updated successfully, but these errors were encountered: