По соображениям производительности MongoDB никогда не разбивает документ на жесткий диск.
Когда вы начинаете с пустой коллекции и начинаете вставлять в нее документ после документа, mongoDB последовательно помещает их на диск.
Но что происходит, когда вы обновляете документ, и теперь он занимает больше места и больше не помещается в старое положение, не перекрывая следующий? В этом случае MongoDB удалит его и повторно добавит как новый в конец файла коллекции.
В вашем файле коллекции теперь есть дыра неиспользуемого пространства. Это довольно пустая трата, не так ли? Вот почему следующий документ, который вставлен и достаточно мал, чтобы поместиться в это отверстие, будет вставлен в это отверстие. Вполне вероятно, что случилось с вашей второй коллекцией.
Итог: Никогда не полагайтесь на документы, возвращаемые в порядке вставки. Когда вы заботитесь о заказе, всегда сортируйте результаты.
Enterprise Architect может генерировать код кода Python из диаграмм UML.
Он также может выполнять некоторую обратную разработку и, следовательно, поддерживать синхронизацию двух версий (UML и python) вместе.
Однако я никогда не использовал его таким образом, за исключением некоторых небольших тестов, просто чтобы увидеть его в действии. . Я лично считаю, что производительность Python настолько высока, что даже если я действительно доволен EA, я предпочитаю просто документировать дизайн.
Средство моделирования UML Umbrello для KDE поддерживает Python в качестве языка экспорта.
Обнаружен поиск с использованием Ubuntu:
$ apt-cache search python uml
boa-constructor - RAD tool for Python and WxWindows application
dia2code - a dia-UML code generator
spe - Stani's Python Editor
Быстрое тестирование показало, что DIA - единственная программа, в которую вы можете экспортировать свой UML диаграмму на Python. Я очень подозрительно отношусь к качеству DIA, потому что он менее интуитивно понятен в использовании, чем программа Topcoder UML. Возможно, другие программы, предложенные другими ответчиками, лучше.