MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Компресирайте (съкратете) PHP низ от 24 знака на 20

От това, което виждам на вашата реферирана страница, 24-те знака са шестнадесетични. Ако идентификаторът на клиента може да е буквено-цифров, можете да използвате base_convert за съкращаване на номера. За съжаление пълният брой е> 32 бита, така че трябва да го скриете на части, за да работи:

// Pad with 0's to make sure you have 24 chars
$padded = str_repeat('0', 24 - strlen($mongoId)) . $mongoId;
$leastSignificant = base_convert(substr($padded, 14, 10), 16, 32); // will be 8 chars most
$middleSignificant = base_convert(substr($padded, 4, 10), 16, 32); // will be 8 chars most
$highSignificant = base_convert(substr($padded, 0, 4), 16, 32); // will be 4 chars most

// Concatenate, and make sure everything is correctly padded
$result = str_repeat('0', 4 - strlen($highSignificant)) . $highSignificant .
          str_repeat('0', 8 - strlen($middleSignificant )) . $middleSignificant .
          str_repeat('0', 8 - strlen($leastSignificant )) . $leastSignificant;
echo strlen($result); // Will echo 20

// Reverse the algoritm to retrieve the mongoId for a given customerId 



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongoose:Населете населено поле

  2. как да избегнете $push-ing нули в рамката за агрегиране на mongo

  3. Пролетни данни:Уникално поле в MongoDB документ

  4. Най-добри практики за архивиране на бази данни

  5. Mongoose Промяна на формата на схемата