我@mswjs/data
用来生成一个模拟数据库,我有一个属性order
,它是一个介于 0 和length - 1
所有条目之间的数字。我想在该属性中呈现当前索引。我正在浏览 GitHub 存储库、Google 和 StackOverflow,但找不到。
那么在模拟条目时如何呈现当前索引?
它只对创建很重要,之后当物品移动时属性会发生变化。
否则,除了当前索引之外,它也可以只是一个介于 0 和条目的最后一个索引之间的随机数,但它必须是唯一的并且不与其他条目共享。
在查询实体时考虑使用该sort
选项对前端的输出进行排序。
const db = factory({
user: {
id: primaryKey(Number)
}
})
db.user.findMany({
// Sort by the "id" property on the "user".
sort: {
id: 'asc'
}
})
排序标准不必是主键,它可以是任何键。然而,由于
order
它似乎是您模型的重要组成部分,我说它应该在其中进行描述(您甚至可以使用指定的属性order
,这也可以。
虽然它的行为与创建时对实体进行排序的默认方式类似,但您不再受制于库的内部实现细节,而是显式定义返回的实体必须如何在每个操作的基础上进行排序。
答案比我预想的要简单。
const countUp = (() => {
let id = 0;
return () => id++;
})();
然后在工厂
const myEntityFactory = () => {
return {
order: countUp,
}
};
它在创建新实体时计数。