мои адреса выглядеть на данный момент:укоротить ObjectId в Node.js и Mongoose
http://www.sitename.com/watch?companyId=507f1f77bcf86cd799439011&employeeId=507f191e810c19729de860ea&someOtherId=.....
Итак, как вы можете видеть, это становится довольно долго, довольно быстро. Я думал об укорочении этих объектов. Идея заключается в том, что я должен добавить новое поле под названием shortId для каждой модели в моей базе данных. Поэтому вместо того, чтобы:
var CompanySchema = mongoose.Schema({
/* _id will be added automatically by mongoose */
name: {type: String},
address: {type: String},
directorName: {type: String}
});
мы бы это:
var CompanySchema = mongoose.Schema({
/* _id will be added automatically by mongoose */
shortId: {type: String}, /* WE SHOULD ADD THIS */
name: {type: String},
address: {type: String},
directorName: {type: String},
});
Я нашел способ сделать это следующим образом:
// Encode
var b64 = new Buffer('47cc67093475061e3d95369d', 'hex')
.toString('base64')
.replace('+','-')
.replace('/','_')
;
// -> shortID is now: R8xnCTR1Bh49lTad
Но я все еще думаю, что это может быть короче.
Кроме того, я нашел этот модуль npm: https://www.npmjs.com/package/short-mongo-id , но я не вижу, что он используется слишком много, поэтому я не могу сказать, надежен ли он.
У кого-нибудь есть предложения?
Привет, shortId даст уникальную строку даже после перезапуска сервера? –
@NallaSrinivas - да, это будет. Существует документация на сайте npm https://www.npmjs.com/package/shortid – Drag0