0

@mswjs/data用来生成一个模拟数据库,我有一个属性order,它是一个介于 0 和length - 1所有条目之间的数字。我想在该属性中呈现当前索引。我正在浏览 GitHub 存储库、Google 和 StackOverflow,但找不到。

那么在模拟条目时如何呈现当前索引?

它只对创建很重要,之后当物品移动时属性会发生变化。

否则,除了当前索引之外,它也可以只是一个介于 0 和条目的最后一个索引之间的随机数,但它必须是唯一的并且不与其他条目共享。

4

2 回答 2

1

在查询实体时考虑使用该sort选项对前端的输出进行排序。

const db = factory({
  user: {
    id: primaryKey(Number)
  }
})

db.user.findMany({
  // Sort by the "id" property on the "user".
  sort: {
    id: 'asc'
  }
})

排序标准不必是主键,它可以是任何键。然而,由于order它似乎是您模型的重要组成部分,我说它应该在其中进行描述(您甚至可以使用指定的属性order,这也可以。

虽然它的行为与创建时对实体进行排序的默认方式类似,但您不再受制于库的内部实现细节,而是显式定义返回的实体必须如何在每个操作的基础上进行排序。

于 2021-12-27T10:37:28.003 回答
0

答案比我预想的要简单。

const countUp = (() => {
  let id = 0;
  return () => id++;
})();

然后在工厂

const myEntityFactory = () => {
  return {
    order: countUp,
  }
};

它在创建新实体时计数。

于 2021-12-27T07:56:31.727 回答