Когда мы используем Django MongoDB Engine для реализации ManyToManyField, мы можем создать его следующим образом:
# Model and its field
class Group(models.Model):
members = ListField(models.ForeignKey(User))
# Query
Group.objects.raw_query({'members': ObjectId(request.user.id)})
В приведенном выше поле «члены» будет храниться как список идентификаторов Mongodb в mongodb.Как и "members" : [ ObjectId("4e46434741b6994c70000000") ]
Мы также можем сохранить идентификатор MongoDB в виде строки:
# Model and its field
class Group(models.Model):
members = ListField(models.CharField(max_length=24))
# Query
Group.objects.filter(members=request.user.id)
В приведенном выше примере поле "members" будет храниться в виде списка строк в mongodb.Например, "members" : [ "4e46434741b6994c70000000" ]
Мой вопрос: какая из этих структур более эффективна для запроса mongodb?