MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

ID ngắn thân thiện với người dùng cho mongo

Bạn đang cố chuyển đổi cơ số 16 (hệ thập lục phân) thành cơ số 36 (26 ký tự trong bảng chữ cái cộng với 10 số). Một cách đơn giản có thể là sử dụng parseInt tham số cơ số của để phân tích cú pháp id hệ thập lục phân, sau đó gọi .toString(36) để chuyển đổi đó thành cơ số-36. Điều này sẽ biến "507f191e810c19729de860ea" thành "VDFGUZEA49X1V50356", giảm độ dài từ 24 xuống 18 ký tự.

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. Làm cách nào để thay đổi trường _id trong MongoDB Collection thành User_id?

  2. Kết quả MapReduce dường như bị giới hạn ở 100?

  3. Mongoose đang lưu tài liệu ngay cả khi tôi kiểm tra xem tài liệu đã tồn tại chưa

  4. Tìm kích thước tài liệu lớn nhất trong MongoDB

  5. Cập nhật mục trong mảng với ID duy nhất