*
  Мысли   Галерея   Проекты   Тексты  
  Мысли   Галерея   Проекты   Тексты  
Giver: BinData в MongoDB  (2012-03-26 10:00:49)

Удивительное дело обнаружилось при работе с MongoDB. При вставке бинарных данных и попытке их отсортировать получался совершенно рандомный порядок. Что же делать, пришлось открыть исходный код и удивиться:

   case BinData: {
            int lsz = l.objsize(); // our bin data size in bytes, not including the subtype byte
            int rsz = r.objsize();
            if ( lsz - rsz != 0 ) return lsz - rsz;
            return memcmp(l.value()+4, r.value()+4, lsz+1);
        }

То есть записи сортируются сначала по размеру, а только потом по содержанию, и набор данных [11,2,333] будет отсортирован как [2,11,333]. Так что монго сортирует любые наборы бинарных данных как числа, а не как строки и нет никакого способа поменять это поведение. Так и живем, приходится выравнивать все бинарные записи по одной длине.


JimmiXS от 2016-08-14 03:27:25:
ytiyPw http://www.FyLitCl7Pf7kjQdDUOLQOuaxTXbj5iNG.com
WilliamdaL от 2017-11-19 08:34:15:
21 way to lose weight quickly: https://sites.google.com/site/weightlossluxury/weight-loss-shakes-supplements-more Popular tags: rebecca romijn weight loss drink dance for weightloss weight loss chitosan weight loss programs in anniston alabama weight loss programs online for free fast weight loss system best weight loss centers atlanta weightloss clinic melbourne florida best vegetable for weight loss
Имя:
Комментарий: