sql >> Databáze >  >> NoSQL >> MongoDB

Krátké uživatelsky přívětivé ID pro mongo

Pokoušíte se převést základ-16 (hexadecimální) na základ-36 (26 znaků v abecedě plus 10 čísel). Jednoduchým způsobem může být jednoduše použít parseInt parametr radix pro analýzu hexadecimálního id a poté volání .toString(36) převést to na základ-36. Což by změnilo „507f191e810c19729de860ea“ na „VDFGUZEA49X1V50356“, čímž by se délka zkrátila z 24 na 18 znaků.

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. Poskytuje provedení částečné aktualizace dokumentu MongoDb ve WiredTiger nějakou výhodu oproti úplné aktualizaci dokumentu?

  2. Opětovné použití databázových připojení s funkcemi Azure pomocí Javascriptu

  3. Co jsou zhutnění HBase?

  4. Získejte n-tý prvek pole v MongoDB