1
Могу ли я ограничить длину данных ListField
в mongoengie без if
состоянии?Предельная длина ListField в mongoengine
мне нужно что-то вроде этого:
list = db.ListField(IntField(), max_length = 24)
в моем document
.
Или я должен проверить длину моего списка, когда он будет обновлен, и не обновлять его, если длина моего списка больше 24!
Только от верхней части головы и не глядя прямо сейчас, но не могу [SortedListField ] (http://docs.mongoengine.org/en/latest/apireference.html#mongoengine.fields.SortedListField) можно применять с аргументами, которые эффективно выполняют [$ slice] (http://docs.mongodb.org/manual/ reference/operator/update/slice /) в соответствии с обычными операциями массива MongoDB? Кажется, я смутно помню тестовый пример. Но если вы можете подтвердить, что это не так, то здорово. –
wow Я не думаю о пользовательском Listfield, который кажется отличным , но я не могу понять какой-то синтаксис, например '** kwargs' и' super' и 'validate' функции не могли бы вы рассказать мне о них? – MDK
@MDK уверен, 'супер (MyListField, self) .__ init __ (** kwargs)' будет вызывать метод '__init __()' ListField' (см. Http://stackoverflow.com/questions/576169/understanding- python-super-with-init-methods), говоря о '** kwargs' - см. http://stackoverflow.com/questions/1769403/understanding-kwargs-in-python. 'Field.validate()' метод является базовым методом проверки для полей mongoengine, см., Например, как реализуется «StringField». Надеюсь, это поможет. – alecxe