问题标签 [simple-schema]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
185 浏览

mongodb - MeteorJS & Collection2. 如何使用“时间”类型的数据创建模式?

嗨,我正在尝试使用连接到 Autoform(特别是 Quickform,如果可能的话)的 Collection2 模式创建一个 MongoDB 集合,它允许我存储时间和日期,而不仅仅是日期。

对于某个日期,JSON 验证是type: Date,- 是否存在type: Time

或者另一种将日期/时间选择器插入自动表单并将其保存到 Collection2 Schema Collection 的方法?

感谢您提供任何指向类似问题的帮助或提示。

0 投票
1 回答
967 浏览

javascript - 使用 alanning:roles 构建流星应用程序中的角色管理

我需要一些建议来在我的流星应用程序中构建正确的角色架构和管理。

结构

  • alanning:roles@1.2.13用于向应用程序添加角色管理功能。
  • 有四种不同的用户类型:管理员、编辑、专家和用户。
  • 此外,还有几个具有不同内容的模块,即汽车、数学和图像。每个模块都组织在一个自己的流星包中。
  • 在每个模块中都有几个类别,可以由编辑器动态添加。

模块中的类别

模块结构如下:

如您所见,所有可用的类别都在模块的 Collection 中。

权利

  • 管理员:完整权限
  • 编辑器:可以编辑选定模块中的元素(即 editor_1 可以编辑汽车和图像中的元素,但不能编辑数学)
  • 专家:可以获得完整模块的权限或仅对模块的某些类别的权限(即)expert_1可以编辑图像,但只能编辑汽车中“本田”和“梅赛德斯”类别中的元素;没有编辑数学)
  • 用户:没有编辑

这就是我在技术上进行身份验证的方式:

路由器.js

模板

我把这个 router.js 放到每个包中。唯一的变化是使用每个包(汽车、数学、图像)的集合的数据函数。

更新:正如“Eliezer Steinbock”所说,有必要限制对 mongoDB 本身的访问。但到目前为止,我只在路线上这样做。

权限.js

我的问题

1)我的第一个问题是如何使用角色和组。使用组的最佳方式是什么?第二个问题是,模块中没有固定的类别。现在我不知道有用的角色/组模式。

2)我如何检查角色?因为有不同的角色可以获得访问权限:管理员、编辑和专家。我也遇到了这些专家的问题,他们只是可以访问该模块的定义类别。

3) 让permission.js 更通用不是更好吗?我的意思是,是否可以创建一个动态函数,所以我不必在任何地方都放置相同的代码?如何以有用的方式实现 permission.js 中的角色?

0 投票
1 回答
26 浏览

javascript - 用于管理元素和组的最简单模式

我想创建一个列表,到目前为止我有这个架构:

但现在我想添加组,它也像一个项目:

所以“蔬菜”是一个组,其中有两个元素,但“蔬菜”本身主要是可排序的,这意味着这个示例类别主要由三个元素组成:煎饼、蔬菜和橙汁。蔬菜可以向下滑动显示内容。

这个 puprose 最简单的模式是什么我的意思是嵌套较少的 SimpleSchema 元素 - 如果没有任何嵌套模式是可能的?

我想要做的是,编辑器可以选择列表中的一些元素并将它们放入一个组中。所有主要元素和组本身都可以通过拖放进行排序。所以我需要元素/组顺序的信息。

我希望我能解释我需要做什么。

0 投票
1 回答
1159 浏览

meteor - Meteor Autoform/SimpleSchema - quickform (type="update") 不工作

我有一个我认为是简单的 SimpleSchema 的东西,我目前有两个模板。一个包含一个用于将新文档插入集合的快速表单,另一个也是一个快速表单,它应该从第一个模板更新文档。

插入表单工作正常,但是当我尝试加载更新模板时,我的控制台显示以下错误并且提交按钮不起作用。根据遇到类似问题的人的说法,该错误通常是由递归函数引起的,但我在任何地方都找不到。

这是我的两个模板:

和我在这里的简单模式:

有人知道我哪里出错了吗?

在过去的几个小时里一直在玩比特:/

0 投票
2 回答
896 浏览

meteor - 流星 - 如何使用 SimpleSchema 添加子文档作为参考

我有以下 SimpleSchema

我想(在服务器上)与当前用户一起插入一个新的团队文档,作为参考(而不是嵌入文档)。

我努力了:

我也尝试了两个步骤:

然后我有另一个我不明白的错误:Error: When the modifier option is true, validation object must have at least one operator

那么如何插入引用另一个模式的文档呢?

0 投票
2 回答
114 浏览

meteor - 为什么此插入模式附加集合无效?

假设,我们有这个模式:

我想在MyCollection. 例如 :

我们最终得到这个:

当我禁用简单的模式检查(collection2)时,一切都按预期工作。

Simple-schema 没有报错(collection2)那为什么无效呢?

0 投票
2 回答
742 浏览

javascript - 如何在 Meteor 的自定义验证简单模式中检查布尔值是否为真

我有以下架构:

我的目标是检查是否description为空,但前提是复选框multiplayer已被选中。如果未选中复选框,则description不应强制填写。

我尝试了上面的代码,但它没有验证。即使我没有描述并且我选中了复选框,我也可以提交表单。

0 投票
1 回答
221 浏览

javascript - 如何在 AutoForm Select2 Meteor 中访问自己的用户 ID?

我正在使用 Select2 AutoForm,并且具有以下架构:

现在这很好用,但问题是当前登录的用户名也被列为一个选项。我想删除这个特别的选项,所以我尝试了以下操作:

但是,this.userId不可用。我怎样才能访问这个变量?

编辑: 我尝试在客户端设置选项,但这没有成功:


我有以下例外:

0 投票
3 回答
1011 浏览

meteor - 如何在简单模式中完全跳过验证并允许存储不完整的文档?

我正在创建一个订单表格和一个为订单定义的模式(某些必填字段,如地址、客户信息、所选项目及其数量等)。

一个。用户访问网站。

湾。为其会话生成唯一 ID 以及时间戳。

C。被userSession放置在本地存储中。

d。到目前为止,使用 sessionId 作为唯一字段创建了一个 Order 对象。

e. 显然,此时 Order 对象不会根据架构进行验证,因此我无法将其存储在 Mongo 中。但我仍然想将它存储在 Mongo 中,以便以后可以使用用户首次访问时生成的 sessionID 检索不完整的订单或正在进行的订单。

这不起作用,因为它验证失败:

F。当用户重新访问该站点时,我希望能够从 Mongo 获得不完整的订单并恢复:

所以我不确定在完成这些要点的同时如何去做。

  • 当用户在表单上输入项目以及用户打算提交完整、完整的订单时,我希望simpleschema对集合进行全面验证。Orders

  • 我想禁用simpleschemaOrders集合的验证并仍然允许存储到数据库中,以便可以存储部分订单以供以后恢复。

我可以在此处使用此设置有条件地需要一个字段,但这意味着仅在这种情况下将有条件地需要 50 多个字段,这看起来非常麻烦。

0 投票
1 回答
447 浏览

meteor - 在 Meteor Simple Schema 中获取 AutoForm 选项值的标签

在 Meteor 模板{{parameter}}中返回此模式的选项值:

我怎样才能得到label而不是value在我的模板中?