当前位置: 首页 > 知识库问答 >
问题:

领域是否提供了获取下一个可用的生成主键(primaryKey)的方法?

赵英范
2023-03-14

当创建具有primaryKey的对象时,Realm是否提供了获取/创建主键下一个可用唯一值的方法?(自动递增)

const BookSchema = {
  name: 'Book',
  primaryKey: 'id',
  properties: {
    id:    'int',    // primary key
    title: 'string',
    price: 'float'
  }
};
    null

共有1个答案

李成礼
2023-03-14

很可悲,但是真的。

对对象使用UUID不像可读的int那样对开发人员友好。我发现这也会影响性能。因此,如果您不想这样做,我认为最好的选择是从集合本身获取最大id:

const getMaxId = (collection) => {
    const maxId = Math.max.apply(null,collection.map((item) => item.id));
    return maxId ? maxId : 1;
};
 类似资料:
  • 如果PDF已经以结构化的方式包含要提取的数据,则会更好。类似于HTML的条纹化版本。特别是对于表,有大量的信息丢失。例如,当您将Word文档转换为PDF,然后转换为文本时。 PDF标准提供了一种存储表结构的方法吗?如果没有,是否可以扩展PDF标准?这个过程是什么?

  • 使用提供函数生成的键与提供的对象相同的值创建一个对象。 使用 Object.keys(obj) 来迭代对象的键。 使用 Array.reduce() 创建一个具有相同值的新对象,并使用 fn 来映射键。 const mapKeys = (obj, fn) => Object.keys(obj).reduce((acc, k) => { acc[fn(obj[k], k, obj)] =

  • 问题内容: 我正在尝试将for循环转换为功能代码。我需要展望一种价值,也要展望一种价值。可以使用流吗?以下代码将罗马文本转换为数字值。不确定带有两个/三个参数的reduce方法是否可以在这里提供帮助。 问题答案: 不,至少在流中使用流是不可能的。流API从处理元素的顺序中抽象出来:流可以并行或以相反顺序处理。因此,流抽象中不存在“下一个元素”和“上一个元素”。 您应该使用最适合此工作的API:如果

  • 本文向大家介绍如何获取自动生成的(主)键值?相关面试题,主要包含被问及如何获取自动生成的(主)键值?时的应答技巧和注意事项,需要的朋友参考一下 insert 方法总是返回一个 int 值 ,这个值代表的是插入的行数。 如果采用自增长策略,自动生成的键值在 insert 方法执行完后可以被设置到传入 的参数对象中。 示例:

  • 我们正在SpringBoot中开发一个应用程序,我们将在运行时创建动态表单并将其发布到应用程序中,以JSON格式将表单数据发布到db(MySql)中。我们希望创建一个通用api来处理所有动态表单的CRUD操作。 我们知道php code-igniter框架查询生成器,它能够构建和执行查询。 https://www.codeigniter.com/userguide3/database/query_

  • 问题内容: 我是快速入门的新手。我想做一个复合主键,当我尝试这样的事情时: 我收到此错误:对象’DbLocation’上不存在’主键属性’uuid’ 任何人都可以通过示例为我提供帮助,该示例如何创建复合主键? 问题答案: 对于领域: 用法示例: 当然,你可以玩弄各种使用上的听众和,以确保compoundKey才能正确重写每一个值换衣服的时间。 对于领域: 自定义设置器确保compoundKey始终