通常情况下,字符串查询都是正则表达式查询,因此效率较低。但是,例外是针对参考字段进行测试!以下查询是:
Model.objects.filter(refs__contains="5305c92956c02c3f391fcaba")._query
{'refs': ObjectId('5305c92956c02c3f391fcaba')}
这是直接查找。
Model.objects.filter(refs__in=["5305c92956c02c3f391fcaba"])._query
{'refs': {'$in': [ObjectId('5305c92956c02c3f391fcaba')]}}
这可能效率较低,但可能非常微不足道。影响最大的将是文档数量以及该refs
字段是否具有索引。