Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >流星防止在每个编辑上重新加载数据?

流星防止在每个编辑上重新加载数据?
EN

Stack Overflow用户
提问于 2013-12-16 13:14:40
回答 1查看 137关注 0票数 0

我正在进行我的第一个Meteor项目--完成了80%的应用程序,接管了其他人的代码。

我们有一个很大很复杂的对象模型,有点像:

代码语言:javascript
运行
AI代码解释
复制
something: { ... }
attachments: [ {...}, {...}, ...]
another-thing: { ... },
....

它是使用以下方式加载的(因此我们使用的是LocalCollection.Cursor而不是获取):

代码语言:javascript
运行
AI代码解释
复制
Inspections.findOne({_id: inspection_id})

此对象填充一个模板,该模板被分成几个单独的组件模板。

在其中一个组件模板中,用户可以更新各种属性。例如,选择或取消选择附件:

代码语言:javascript
运行
AI代码解释
复制
Object.attachments[0].selected = true;

然后我们更新如下(其中updatedAttachments是更新后的附件数组):

代码语言:javascript
运行
AI代码解释
复制
InspectionOrders.update({ _id: inspection._id }, {
  $set: {
    attachments:updatedAttachments
  }
});

问题是附件(和一些其他属性)从一个可以花一段时间的其他数据中加载一堆数据。更改select状态需要3-4秒才能重新呈现,因为所有这些小附件都将再次下载。

我的问题:

  • 是否有一种方法可以处理不需要在每次更改时下载此数据的对象?
  • 一般来说,把这个对象分成多个小对象是个好主意吗?如果父对象的属性被更改,这不需要重新加载所有对象吗?

我尝试在{{#isolate}}中扭曲模板的部分内容,但没有什么不同。

编辑:

数据结构是这样的:

代码语言:javascript
运行
AI代码解释
复制
InspectionOrder
|
|- Attachments [file names]
|
|- Findings [keys]

加载页面或更新InspectionOrder时。重新下载所有附件(图像文件),并再次填充所有发现(使用引用键)。

问题不在于更新的速度。所有这些数据的重新加载并没有改变。

EN

回答 1

Stack Overflow用户

发布于 2013-12-16 14:32:35

不看数据,我有点不清楚问题出在哪里,但以下是一些你可以尝试的东西:

更新较少的数据

您可以只更新更改的属性,而不是设置整个附件数组。例如:

代码语言:javascript
运行
AI代码解释
复制
InspectionOrders.update({_id: inspection._id}, {$set: {"attachments.0.selected": true}});

在给定文档有大量附件的情况下,这会有所帮助。这对于DB来说执行起来更快,但是,我不清楚服务器是否会将整个文档发布回用户。也就是说,这可能会有所帮助,但可能不是一场大胜利。

发布较少的数据

在服务器上,您可以在发布字段时尝试从InspectionOrders中选择性地删除字段。例如:

代码语言:javascript
运行
AI代码解释
复制
Meteor.publish('inspectionOrders', function() {
  return InspectionOrders.find({}, {
    fields: {'attachments.hugeBinaryFile': 0}
  });
});

如果您只是在每个文档中发布大量额外的数据,这会有所帮助。如果您将较少的数据放在线路上,您的文档将更快地同步。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20621038

复制
相关文章
为什么HTTPS比HTTP更安全?
近几年,互联网发生着翻天覆地的变化,尤其是我们一直习以为常的HTTP协议,在逐渐的被HTTPS协议所取代,在浏览器、搜索引擎、CA机构、大型互联网企业的共同促进下,互联网迎来了“HTTPS加密时代”,HTTPS将在未来的几年内全面取代HTTP成为传输协议的主流。
coder_koala
2019/07/30
4290
为什么HTTPS比HTTP更安全?
为什么 classmethod 比 staticmethod 更受宠?
我们知道,classmethod 和 staticmethod 都可以作为函数的装饰器,都可用于不涉及类的成员变量的方法,但是你查一下 Python 标准库就会知道 classmethod 使用的次数(1052)要远远多于 staticmethod(539),这是为什么呢?
somenzz
2021/12/27
5910
为什么 classmethod 比 staticmethod 更受宠?
为什么 https 比 http 更安全?
在HTTPS出现之前,所有请求都是以明文方式送出的,那么如果有人在传输途中偷听或者抓包的话,你的所有通信内容都会泄漏。比较安全的方法是将通信内容加密在发送给对方。加密方法有两种,对称加密和非对称加密。
杰哥的IT之旅
2020/06/18
6350
为什么 https 比 http 更安全?
为什么HTTPS比HTTP更安全?
近几年,互联网发生着翻天覆地的变化,尤其是我们一直习以为常的HTTP协议,在逐渐的被HTTPS协议所取代,在浏览器、搜索引擎、CA机构、大型互联网企业的共同促进下,互联网迎来了“HTTPS加密时代”,HTTPS将在未来的几年内全面取代HTTP成为传输协议的主流。
前端迷
2019/08/31
4680
为什么HTTPS比HTTP更安全?
近几年,互联网发生着翻天覆地的变化,尤其是我们一直习以为常的HTTP协议,在逐渐的被HTTPS协议所取代,在浏览器、搜索引擎、CA机构、大型互联网企业的共同促进下,互联网迎来了“HTTPS加密时代”,HTTPS将在未来的几年内全面取代HTTP成为传输协议的主流。
Nealyang
2019/09/29
7840
为什么HTTPS比HTTP更安全?
为什么HTTPS比HTTP更安全?
近几年,互联网发生着翻天覆地的变化,尤其是我们一直习以为常的HTTP协议,在逐渐的被HTTPS协议所取代,在浏览器、搜索引擎、CA机构、大型互联网企业的共同促进下,互联网迎来了“HTTPS加密时代”,HTTPS将在未来的几年内全面取代HTTP成为传输协议的主流。
心莱科技雪雁
2019/06/05
4480
为什么HTTPS比HTTP更安全?
前缀、中缀、后缀表达式
转至: 前缀、中缀、后缀表达式 它们都是对表达式的记法,因此也被称为前缀记法、中缀记法和后缀记法。它们之间的区别在于运算符相对与操作数的位置不同:前缀表达式的运算符位于与其相关的操作数之前;中缀和后缀
Christal_R
2017/12/25
1.1K0
前缀、中缀、后缀表达式
在函数式编程语言中,为了表示方便,出现了一些新的语法格式。所谓前缀、中缀、后缀表达式,它们之间的区别在于运算符相对与操作数的位置不同,为了说明它们的概念,首先来看一下中缀表达式。 所谓中缀表达式,就是将函数名放到两个操作数中间的表达式,其中,左侧的操作数代表函数对象或值,右侧的操作数代表函数的参数值。例如: (3 + 4) × 5 - 6 就是中缀表达式 - × + 3 4 5 6 前缀表达式 3 4 + 5 × 6 - 后缀表达式 前缀表达式 前缀表达式又称为前缀记法、波兰式,主要用于表示运算符位于操作数
xiangzhihong
2018/02/08
1.1K0
前缀、中缀、后缀表达式
前缀、中缀、后缀表达式,它们之间的区别在于运算符相对与操作数的位置不同:前缀表达式的运算符位于与其相关的操作数之前;中缀和后缀同理。对计算机来说中缀表达式是很复杂的,因此计算表达式的值时,通常需要先将中缀表达式转换为前缀或后缀表达式,然后再进行求值。对计算机来说,计算前缀或后缀表达式的值非常简单。 举例: (3 + 4) × 5 - 6  中缀表达式 - × + 3 4 5 6  前缀表达式 3 4 + 5 × 6 -  后缀表达式 前缀表达式的求值: 从右至左扫描表达式,遇到数字时,将数字压入堆栈,
yawn
2018/03/14
8560
为什么 Nginx 比 Apache 更牛叉?
Nginx才短短几年,就拿下了Web服务器大壁江山,众所周知,Nginx在处理大并发静态请求方面,效率明显高于Httpd,甚至能轻松解决C10K问题。
Java技术栈
2023/02/27
4670
为什么 Nginx 比 Apache 更牛叉?
前缀、中缀、后缀表达式
它们都是对表达式的记法,因此也被称为前缀记法、中缀记法和后缀记法。它们之间的区别在于运算符相对与操作数的位置不同:前缀表达式的运算符位于与其相关的操作数之前;中缀和后缀同理。 举例: (3 + 4) × 5 - 6 就是中缀表达式 - × + 3 4 5 6 前缀表达式 3 4 + 5 × 6 - 后缀表达式 中缀表达式(中缀记法) 中缀表达式是一种通用的算术或逻辑公式表示方法,操作符以中缀形式处于操作数的中间。中缀表达式是人们常用的算术表示方法。 虽然人的大脑很容易理解与分析中缀表达式,但对计算
_gongluck
2018/03/08
1.3K0
如何添加前缀和后缀?
例如:如果是数字100,我们需要变成为"自定义100自定义",那我们需要怎么样处理呢?
逍遥之
2020/03/23
1.8K0
字典树和前缀树_前缀树和后缀树
常关注本blog的读者朋友想必看过此篇文章:从B树、B+树、B*树谈到R 树,这次,咱们来讲另外两种树:Tire树与后缀树。不过,在此之前,先来看两个问题。 第一个问题: 一个文本文件,大约有一万行,每行一个词,要求统计出其中最频繁出现的前10个词,请给出思想,给出时间复杂度分析。
全栈程序员站长
2022/10/04
1.4K0
字典树和前缀树_前缀树和后缀树
前缀中缀后缀表达式
<操作数><操作符><操作数> 就像我们平时用到的大部分计算表达式都是中缀 比如 1+1 3*2 等等 中缀表达式虽然很方便人使用,但是对机器却不太友好 比如我要计算(1+1)*3+2 机器将怎样区分操作符的优先级,机器不是人,机器是很傻的,所以我们要提供一种新的算法,让机器无脑就可以算。 这时候就要引出 后缀表达式
用户7272142
2023/10/11
2200
【答疑解惑】++前缀和后缀的区别
我的解答: 这个知识点在C、C++和Java中都是一样的,++前缀就进行自增然后再用自增后的值,++后缀则是先用这个值,然后再进行自增。 上面的题目是一个很好的面试题,网友们还是好好看一下,如果是让输
程序员互动联盟
2018/03/14
8280
【答疑解惑】++前缀和后缀的区别
前缀、中缀、后缀表达式「建议收藏」
关键字:概念, 前缀表达式, 前缀记法, 中缀表达式, 中缀记法, 波兰式, 后缀表达式, 后缀记法, 逆波兰式
全栈程序员站长
2022/07/05
2K0
mybatis中去除多余的前缀或者后缀
转载自 https://blog.csdn.net/qq_33315102/article/details/80253023
allsmallpig
2021/02/25
9270
为什么插入排序比冒泡排序更受欢迎?
插入排序和冒泡排序的时间复杂度相同,都是 O(n2),在实际的软件开发里,为什么我们更倾向于使用插入排序算法而不是冒泡排序算法呢?
大猫的Java笔记
2020/09/30
8820
为什么前后端分离了,你比从前更痛苦?
前后端分离早已经不是新闻,当真正分离之后确遇到了更多问题。要想解决现在的痛,就要知道痛的原因:
Jean
2018/10/18
6050
为什么前后端分离了,你比从前更痛苦?
HTML常用符号
大家好,又见面了,我是全栈君 HTML转义符号 HTML常用符号: 显示一个空格 &nbsp; &#160; < 小于 &lt; &#60; > 大于 &gt; &#62; & &符号
全栈程序员站长
2022/07/15
3.2K0

相似问题

localStorage值不会自动更新

30

用AlpineJS实现数据采集

12

localStorage值不会自动更新

25

如何显示localStorage数据

28

如何重用AlpineJs数据?

120
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文