Dexie:如何添加到嵌套对象中的数组

2024-01-31

我正在使用 Dexie IndexedDB 包装器,并且尝试将一个对象添加到嵌套对象内的现有数组中。结构如下所示

{ 
  Name : 'John',
  age : 33,
  tags : {
     skill: [{
         first: '.NET',
         second: 'JAVA',
         third: [{special1:'sleep'},{special2:'eat'}] 
     }]
  }
}

我尝试了很多方法将对象special3:'run'推送到skill.third但没有成功。我的最后一次尝试看起来像这样

    const pathObject = {};
    const fullPath = 'result.tags.skill[3].third';
    pathObject[fullPath] = {special3:'run'};
    db.inspections.update(id, pathObject);

该对象被添加到数组“third”的外部而不是内部,如下所示

{ 
  Name : 'John',
  age : 33,
  tags : {
     skill: [{
         first: '.NET',
         second: 'JAVA',
         third: [{special1:'sleep'},{special2:'eat'}] 
     }]
     skill[3]: {
         third: {special3:'run'}
     }
  }
}

我想知道是否有一种方法可以使用 Dexie 添加到嵌套对象中的数组,如果没有,是否有一种方法可以使用 indexeddb 来实现此目的。感谢帮助,因为问题阻碍了进展


最简单的方法是使用 Collection.modify() 和回调函数来改变模型:

db.inspections.where('id').equals(id).modify(x =>
    x.tags.skill[0].third.push({special3:'run'}) );

如果您想使用包含数组项的键路径,也是可以的,因为数组可以被视为带有数字键的对象:

db.inspections.update(id, {"tags.skill.0.third.3": {special3:'run'}});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Dexie:如何添加到嵌套对象中的数组 的相关文章

  • 禁用外部点击时关闭模式

    我正在制作一些使用模式的博客物质化 但我的模态 onclick 外部和错误数据有问题 这是我的代码 main js function changepassword var user userlog val var content conte
  • 如何将选定的元素从 devTools 页面发送到 chrome 侧边栏页面

    我正在开发 chrome devTools 扩展 基本上 我在 元素 面板中添加了一个侧边栏窗格 开发工具 js chrome devtools panels elements createSidebarPane ChromeTrast f
  • Javascript 闭包 - 变量范围问题

    我正在阅读 Mozilla 开发者网站上有关闭包的内容 我注意到在他们的常见错误示例中 他们有以下代码 p Helpful notes will appear here p p E mail p
  • 为什么 Jshint 在此 if 语句中说“变量已定义”?

    我有这个代码 if something is true var someVar true else var someVar false JsHint 表示在 else 语句部分 someVar 已被定义 这是为什么 我该如何解决 Thank
  • Javascript“this”在 IE 中丢失上下文

    以下在 firefox safari chrome 中工作正常 在 IE 中 this 似乎在 handleEvent 函数中丢失上下文 警报的结果是 object Window 这不是我想要的 当从handleEvent 输出时 this
  • Mongoose 查询执行后回调函数从未被调用

    以下是我的代码 mongoose connect mongodb localhost mydatabase var db mongoose connection db on error console error bind console
  • D3更新circle-pack数据新节点与现有节点重叠

    我正在关注一般更新模式 http bl ocks org mbostock 3808234但在分层方面存在问题 使用圆形包装布局 我pack新数据 update enter and exit圆形元素 然而 当新元素enter 它们重叠upd
  • 有没有办法在 React 中自动播放音频而不使用 onClick 事件?

    我在尝试在 componentDidMount 中播放音频时收到此错误 未捕获 承诺中 DOMException play 失败 因为用户没有先与文档交互 componentDidMount document getElementById
  • 为动态加载的 HTML 内容触发 Bootstrap JS 行为

    我正在动态加载包含 Bootstrap 标记的 HTML 模板 但是 Bootstrap Javascript 行为不会应用于加载的内容 例如 如果加载的内容包含 Bootstrap 模式的标记 则该模式将无法正确运行 有没有办法可以触发
  • 个人 Tumblr 帖子上的 Javascript

    我知道您可以编辑在 tumblr 博客上呈现所有帖子博客主页的 html AngularJS 但是 有什么办法可以添加自定义到各个帖子 我想在逐个帖子的基础上做一些 javascript 的东西 但似乎无法找到可以编辑代码的位置 或者 如果
  • 纯 JS 相当于 Jquery eq()

    jquery 的纯等价物是什么eq 例如 我怎样才能实现 class1 class2 eq 0 text 1254 在纯 JavaScript 中 要获取数组中的元素索引 可以使用 在 JavaScript 中 因此 要重现您的代码 您可以
  • vuejs 模板和 asp.net 部分视图,好的做法吗?

    我在网站中使用 Vue js 并将模板添加到 html 代码中 并将 js 代码添加到单个 js 文件中 所以我不想使用 vue Vuefy Browserfy 方法 而是稍后捆绑并缩小我的 js 文件 由于我必须使用 Asp Net MV
  • 在 UIWebView 中禁用复制和粘贴

    几乎 我已经尝试了一切方法来禁用复制 粘贴UIWebView但对我来说没有任何作用 我正在加载我的UIWebView来自字符串 字符串数组 如下所示 webView loadHTMLString NSString stringWithFor
  • 使用 Javascript/Node.js 在代码内执行 mongoimport

    node js javascript 中是否有任何库可供个人使用mongoimport在代码中 据我了解 mongoimport 有点像 exe 您必须先执行它 然后才能使用其文本输入环境 是否可以在我的代码中执行 mongoimport
  • 在 Chrome 开发者工具中禁用调试器语句

    我正在尝试对恶意 JavaScript 进行逆向工程 当我最初加载侧面时 会注入 JS 代码 其中包括 debugger 语句并将断点注入我的 chrome 开发人员控制台 通过stackoverflow阅读 禁用所有断点does not帮
  • 为什么我的 D3 SVG 图上的轴不会更新?

    I have 简单的 D3 散点图 http www raxacoricofallapatorius com test scattertest html我在显示数据的几个不同属性之间切换 但是虽然我可以更改数据点 并按照我想要的方式进行转换
  • ‘state’未定义 no-undef

    我使用教程来学习 React 但我很快就陷入困境 在教程中 他们使用以下代码 import React Component from react class Counter extends Component state count 0 r
  • Array.of 与“[ ]”。何时使用 Array.of 而不是“[ ]”?

    当我发现时我正在读一些书Array of https developer mozilla org en docs Web JavaScript Reference Global Objects Array of 根据 MDN Array o
  • javascript:完全删除top.location.hash?

    如果我的地址栏中已经有一个哈希值 例如domain com whatever 我打电话 top location hash wathever 被转换为domain com 没有任何内容 是否可以完全删除哈希值 所以没有 left 因为如果我
  • Safari 扩展将消息发送到特定选项卡

    有没有办法从全局页面发送消息到特定选项卡 我目前正在做的是 在创建选项卡时 注入的脚本会创建一个唯一的 ID 并将包含该编号的消息发送到全局页面 并且全局页面会保存该编号 如果全局页面需要发送一些数据到一个tab 即 tab 3 然后全局页

随机推荐

  • 如何从 powershell 保留 cmd 脚本的彩色输出(stdout 和 stderr)?

    我们有 cmd 的构建脚本 例如 这里是其中之一的输出 当我在 PS 中运行相同的命令时 它会以红色输出所有内容 可能是因为它用于错误输出 我可以以某种方式保留颜色吗 起初 我认为这是不可能的 但是 经过一番搜索后 我发现了这篇博客文章 H
  • lua string.find 无法识别子字符串

    我使用 LUA 作为 Minecraft mod 的一部分 我不确定这会影响多少 请参阅 openComputers 该代码尝试将给定字符串与通过迭代一系列包含具有名称的项的槽而获得的字符串进行匹配 重要的代码块是 term write e
  • 使用 Z3_solver_get_unsat_core 获取 unsat 核心

    假设这是非线性实数算术的约束集 例如 pred1 gt v2 x v0 x v1 y v0 y v2 y v0 y v1 x v0 x 0 pred2 gt v1 x v0 x v2 y v0 y v1 y v0 y v2 x v0 x 0
  • Jupyter 笔记本:如何执行包含导入和魔术命令的外部文件?

    我想要一个包含所有导入和初始化魔术命令 cd autoreload 的通用文件 所以 我想要这样的东西 初始化 ipynb cd load ext autoreload autoreload 2 import some lib import
  • Docker Compose 构建中的 Nuget 包恢复错误

    在代理后面使用 docker compose 进行构建时 我遇到了块恢复错误 我已经在 Windows 的 docker 中设置了代理 Nuget 恢复适用于命令行dotnet restore和 Visual Studio 调试 但不使用d
  • OpenXML 从工作表中获取工作表名称

    我像这样迭代我的工作表 WorkbookPart wbPart doc WorkbookPart SharedStringTablePart sstPart wbPart GetPartsOfType
  • 在操作栏中动态添加操作项

    由于某些原因 我想在操作栏中完全动态地创建操作菜单项 但是 当我从代码添加菜单项时 它们显示为设置菜单项的溢出 下面是我的代码 有什么解决办法吗 Override public boolean onCreateOptionsMenu Men
  • 全外连接还是联合?

    困惑如何通过 FULL OUTER 或 UNION 实现这一点 我想以这样的方式加入结果 Table1 Table2 ID Name Salary ID Fruits 1 John 1000 1 Apples 1 Henry 4000 1
  • onchange select 做不同的mysql查询

    正如标题所说 我需要有关 onchange 的帮助 我有选择标签 当我从选择列表中选择某些内容时 我需要执行不同的 mysql 查询 例子
  • FunctionInterface Comparator 有 2 个抽象方法

    学习 Java 8 Lambda 只是想知道编译器如何知道 Comparator 中的哪个方法用于 lambda 表达式 好像不是SAM接口 它有2个抽象方法 FunctionalInterface public interface Com
  • PHP + SQL Server - 如何设置连接字符集?

    我正在尝试通过 php 将一些数据存储在 SQL Server 数据库中 问题是特殊字符未正确转换 我的应用程序的字符集是 iso 8859 1 服务器使用的是windows 1252 在插入之前手动转换数据没有帮助 似乎有一些 转换正在进
  • mpmath 矩阵求逆的替代方案或加速方案

    我正在用 python 编写一些代码 需要频繁地反转大方阵 100 200 行 列 我已经达到了机器精度的极限 所以开始尝试使用mpmath进行任意精度矩阵求逆 但它非常慢 即使使用gmpy 以精度 30 十进制 反转大小为 20 30 6
  • 如何使用 javascript 添加 svg?

    我正在使用此代码将 svg 插入到 div 标签中 var container document getElementById div id var svg document createElement svg svg setAttribu
  • 使用 Java 的 LinkedIn API 身份验证

    我是 Linked In API 认证新手 我去看了LinkedIn提供的API文档 它有 RUBY PYTHON 和 PHP 的示例 但我被要求使用 Java 实现同样的目标 我需要阅读链接中用户的个人资料 任何人都可以建议我任何链接或示
  • 机器 ID/主机名如何映射/解映射到对象 ID 中的 3 个字节?

    机器 ID 主机名如何映射 解映射到对象 ID 中的 3 个字节 我应该在哪里寻找Linux中的机器ID domU 12 31 39 13 02 56 看起来很奇怪 我不确定它是否正确 该函数不会从 ObjectID 获取您的主机名 它会向
  • Eigen::Ref<> 类的正确用法

    Eigen 引入了 Ref 类 以便在不需要编写模板函数时以 Eigen 对象作为参数编写函数 而无需使用不必要的临时变量 人们可以读到这一点here http eigen tuxfamily org dox TopicFunctionTa
  • 如何使用 htaccess 转发查询字符串?

    目前 我正在使用它来重写 URL RewriteEngine on RewriteRule page php name 1 NC So mysite com home被重写为mysite com page php name home 我怎样
  • Express:POST请求后Req.body未定义

    我在 app router 之前使用了express bodyParser 并且标题似乎是正确的 但我仍然在 req body 上未定义 var app express app use express bodyParser app use
  • ADO.NET 与 ADO.NET 实体框架

    ADO NET 和 ADO NET 实体框架哪个更快 没有什么比 ADO NET 数据读取器更快了 实体框架也在 地下室 使用了它 然而 实体框架可以帮助您从数据库映射到对象 对于 ADO NET 您必须自己完成此操作 这取决于你如何编程它
  • Dexie:如何添加到嵌套对象中的数组

    我正在使用 Dexie IndexedDB 包装器 并且尝试将一个对象添加到嵌套对象内的现有数组中 结构如下所示 Name John age 33 tags skill first NET second JAVA third special