如何在 URL 中用别名替换对象 ID

How to replace object ID with alias in URL

我刚刚安装了 keystone.js 并构建了基本站点。 但是我注意到 URL 包含长度为 24 的 mongoDB ID。看起来很难看。 任何想法,我该如何改变它。

http://localhost:3000/keystone/users/56ed6816491debf405f99be1 http://localhost:3000/keystone/posts/56ed086c4b4ba4f8044bbbe1

我希望它像 http://localhost:3000/keystone/users/enraiser http://localhost:3000/keystone/posts/my-first-post

创建自动递增的 id 字段:

https://docs.mongodb.org/manual/tutorial/create-an-auto-incrementing-field/

我们可以使用keystones的自动key

var Post = new keystone.List('Post', {
    autokey: { path: 'slug', from: 'title', unique: true },map: { name: 'title' },
    defaultSort: '-createdAt'
});