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

Кратък удобен за потребителя ID за mongo

Опитвате се да преобразувате база 16 (шестнадесетичен) в основа 36 (26 знака в азбуката плюс 10 числа). Един прост начин може да бъде просто да използвате parseInt radix параметър за анализиране на шестнадесетичния идентификатор и след това извикване на .toString(36) за да го преобразувам в база-36. Което ще превърне "507f191e810c19729de860ea" във "VDFGUZEA49X1V50356", намалявайки дължината от 24 на 18 знака.

function toBase36(id) {
  var half = Math.floor(id.length / 2);
  var first = id.slice(0, half);
  var second = id.slice(half);
  return parseInt(first, 16).toString(36).toUpperCase()
       + parseInt(second, 16).toString(36).toUpperCase();
}

function toBase36(id) {
  var half = Math.floor(id.length / 2);
  var first = id.slice(0, half);
  var second = id.slice(half);
  return parseInt(first, 16).toString(36).toUpperCase()
       + parseInt(second, 16).toString(36).toUpperCase();
}

// Ignore everything below (for demo only)
function convert(e){ if (e.target.value.length % 2 === 0) base36.value = toBase36(e.target.value) }
var base36 = document.getElementById('base36');
var hex = document.getElementById('hex');
document.getElementById('hex').addEventListener('input', convert, false);
convert({ target: { value: hex.value } });
input { font-family: monospace; width: 15em; }
<input id="hex" value="507f191e810c19729de860ea">
<input id="base36" readonly>


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Не може да се свърже с MongoDB (MongoLabs) чрез C# клиент

  2. Защо има долна черта пред идентификатора на документа MongoDb?

  3. MongoDB-as-a-Service във вашия собствен акаунт в Amazon AWS

  4. Намерете първия елемент във вложен масив, който отговаря на условията

  5. Pymongo има ли вградени правила за валидиране?