非规范化
非规范化数据不存储规范化的数据。换句话说非规范化意味着相同数据的多个拷贝同时存在。
上一章中,我们在帖子中非规范化评论总数,以避免每次都加载所有的评论。在数据建模意义上说这是冗余的,因为我们可以通过计数每个评论,随时计算出该总数...
AI君
2年前 (2020-03-25) 55℃
0喜欢
评论
社交新闻网站的目标是创建一个用户社区,如果没有提供一种方式让人们互相交流,这将是很难做到的。因此在本章中,我们添加评论!
我们首先创建一个新的集来存储评论,并在该集中添加一些初始数据。
Comments = new Mongo.Co...
AI君
2年前 (2020-03-25) 54℃
0喜欢
创建 Meteor Package
我们在报告错误的工作中已经创建了可重复使用的模式,为什么不把它打包让 Meteor 社区的其他人都可使用呢?
为了开始,我们需要一个 Meteor 开发者账号。你可以从 meteor.com 申请,但是...
AI君
2年前 (2020-03-25) 56℃
0喜欢
错误
仅使用浏览器标准的 alert() 对话窗去警告用户他们的提交有错误有那么一点不令人满意,而且显然不是一个良好的用户体验。我们可以做得更好。
相反,让我们建立一个更加灵活的错误报告机制,来更好地在不打断流程的情况下告诉用户到底发生了...
AI君
2年前 (2020-03-25) 54℃
0喜欢
允许与拒绝
Meteor 的安全系统不需要我们在每次修改数据的时候,在各自的函数里面进行手动检查。
例如,对于一个博客系统,我们常常需要做很多操作,往新帖子上添加属性,当发布帖子的时候进行特定检查。这些操作都是围绕帖子(post)这个对象...
AI君
2年前 (2020-03-25) 53℃
0喜欢
编辑帖子
上一章,我们已经学会了创建帖子,下面来学习编辑和删除它们。页面的代码非常简单,让我们在这个时候来谈论一下 Meteor 是如何管理用户权限。
让我们先设置我们的路由器,添加一个可以访问帖子编辑页的路径,并设置它的数据上下文:
R...
AI君
2年前 (2020-03-25) 55℃
0喜欢
延时补偿
在上一章,我们介绍了 Meteor 的一个新概念:内置方法。
Meteor 的内置方法是一种在服务器上执行一系列命令的结构化方法。在示例中,我们使用内置方法是为了确保新帖子是通过作者的姓名和 ID ,以及当前服务器时间去标记。
...
AI君
2年前 (2020-03-25) 56℃
0喜欢
创建帖子
我们曾经轻松地通过控制台去使用 Posts.insert 来创建帖子并插入到数据库。但我们不可能指望用户去打开控制台来创建一个新的帖子吧?
所以我们需要在用户界面上创建一些表单控件,让用户在我们的 App 上发布一些新的帖子。
...
AI君
2年前 (2020-03-25) 58℃
0喜欢
响应式
如果说集合是 Meteor 的核心功能,那么响应式可以能让这个核心功能更强大。
集合从根本上改变你的应用程序的数据处理方式。从而不必手动检查数据更改(例如,通过一个 AJAX 调用),再根据这些变化去修改 HTML 页面,Mete...
AI君
2年前 (2020-03-25) 54℃
0喜欢
添加用户
到目前为止,我们已经以较合理的方式去创建并显示一些静态数据,并将其连接到成一个简单的数据原型。
尽管我们的界面是根据变化的数据进行即时响应的,并且数据的实时插入或更改的都会在界面上得到体现。然而,我们的网站似乎还没有提供用户去修...
AI君
2年前 (2020-03-25) 55℃
0喜欢
由数组创建一个对象词典
问题
你有一组对象,例如:
cats = [
{
name: "Bubbles"
age: 1
},
{
name: "Sparkle"
favoriteFood: "t...
AI君
2年前 (2020-03-24) 56℃
0喜欢
将数组连接
问题
你希望将两个数组连接到一起。
解决方案
在JavaScript中,有两个标准方法可以用来连接数组。
第一种是使用JavaScript的数组方法concat():
array1 = [1, 2, 3]
array2 = [...
AI君
2年前 (2020-03-24) 57℃
0喜欢
检查变量的类型是否为数组
问题
你希望检查一个变量是否为一个数组。
myArray = []
console.log typeof myArray // outputs 'object'
“typeof”运算符为数组输出了一个错误的结果。...
AI君
2年前 (2020-03-24) 55℃
0喜欢
转载请注明:www.ainoob.cn » CoffeeScript 数组...
AI君
2年前 (2020-03-24) 54℃
0喜欢
把字符串转换为大写形式
问题
你想把字符串转换成大写形式。
解决方案
使用JavaScript的String的toUpperCase()方法:
"one two three".toUpperCase()
# => 'ONE TWO ...
AI君
2年前 (2020-03-24) 56℃
0喜欢
清理字符串前后的空白符
问题
你想清理字符串前后的空白符。
解决方案
使用JavaScript的正则表达式来替换空白符。
要清理字符串前后的空白符,可以使用以下代码:
" padded string ".replace /^\s+|\...
AI君
2年前 (2020-03-24) 68℃
0喜欢
拆分字符串
问题
你想拆分一个字符串。
解决方案
使用JavaScript字符串的split()方法:
"foo bar baz".split " "
# => [ 'foo', 'bar', 'baz' ]
讨论
String的这...
AI君
2年前 (2020-03-24) 55℃
0喜欢
重复字符串
问题
你想重复一个字符串。
解决方案
创建一个包含n+1个空元素的数组,然后用要重复的字符串作为连接字符将数组元素拼接到一起:
# 创建包含10个foo的字符串
Array(11).join 'foo'
# => "f...
AI君
2年前 (2020-03-24) 57℃
0喜欢
匹配字符串
问题
你想要匹配两个或多个字符串。
解决方案
计算把一个字符串转换成另一个字符串所需的编辑距离或操作数。
levenshtein = (str1, str2) ->
l1 = str1.length
l...
AI君
2年前 (2020-03-24) 53℃
0喜欢
把字符串转换为小写形式
问题
你想把字符串转换成小写形式。
解决方案
使用JavaScript的String的toLowerCase()方法:
"ONE TWO THREE".toLowerCase()
# => 'one two ...
AI君
2年前 (2020-03-24) 55℃
0喜欢