I have a ListField in the model with identifiers (ReferenceField), and I need to make a request if there is a specific identifier in this list. AFAIK I have 2 options for this:
Model.objects.filter(refs__contains='59633cad9d4bc6543aab2f39')
or
Model.objects.filter(refs__in=['59633cad9d4bc6543aab2f39'])
Which one is most effective for this use case?
The model looks like this:
class Model(mongoengine.Document):
refs = mongoengine.ListField(mongoengine.ReferenceField(SomeOtherModel))
From what I can read in the mongoengine documentation, http://docs.mongoengine.org/guide/querying.html#string-queries contains a really string query, but it also works surprisingly here, But I assume __in more efficient since it should be optimized for lists, or am I mistaken?
source
share