Breeze.js Node.js mongoose?

时间:2015-02-01 13:56:06

标签: node.js mongodb breeze

我尝试将breeze.js放入我的角度应用程序中。我的后端是一个node.js应用程序,目前通过mongoose存储并获取其模型。 我不明白服务器端的微风工作流程。我是否必须在服务器上接收它,或者我现在可以直接使用我的路线吗? 我已经看到了微风人的zza示例以及如何从服务器获取元数据。 那么元数据不是我的“建模工具”吗? 如果想用令牌保护我的数据,例如我将用户放入数据库并且必须在登录时创建该令牌,它将如何工作?

1 个答案:

答案 0 :(得分:0)

Breeze客户端可以使用任何使用HTTP + JSON的服务器。

当服务器执行某些技巧时,它的某些功能会亮起。我特别想到三个

  1. 服务器提供的元数据
  2. 解释客户定义的查询
  3. 能够在单个请求中将更改(添加/ mod / delete)保存到多个类型的多个实体。
  4. 你在Zza中看到的节点/表达后端使用了一个Breeze节点模块," breeze-mongodb",它可以做#2和#3。

      

    "微风-mongodb的" 服务器代码"说" Breeze客户端的语言。它不是Breeze客户端核心的一部分,您仍然可以编写一个与未使用此节点库的节点/ mongo后端通信的Breeze客户端应用程序。

    AFAIK,没有"微风 - 猫鼬"模块。邀请您编写一个并与社区分享。如果你接受这个使命,你可以采取" breeze-mongodb"作为你的模特。

      

    它不会疯狂​​。该模块由两个源文件组成 - 一个用于查询解释,另一个用于保存更改 - 每个文件低于500行。原始mongodb和mongoose之间的语法差异并不大。

    Breeze metadata in Zza由客户端应用程序构建。 " breeze-mongodb"模块不生成元数据。原始mongoDb没有模式的概念,因此没有一种明显的方式可以生成元数据。

    显然,如果你正在使用mongoose,你可以从mongoose架构生成元数据(至少很多元数据)。我不确定这是否值得尝试,或者让客户创建元数据更好,就像我们在Zza中一样。

    OTOH,写一个"微风 - 猫鼬"可能太令人生畏了。也许您的应用只需要查询的一部分并保存功能。您可以编写仅处理所需请求的节点/猫鼬端点。

    如果您选择这条路线,我建议您将客户端应用切换为JSON查询样式并配置" uriBuilder"到JSON(见here

      

    现在仍然值得你去挖掘" breeze-mongoose"想法模块。

    安全性是一个正交问题。 Zza示例并未包含任何安全代码。也许它应该。它并不是因为它希望专注于Breeze的运作方式,而Breeze本身并没有对如何保护数据访问采取任何立场。

    由您来管理身份,保护服务器端点以及以适合您的应用程序的方式验证数据。这样做的概念,工具和库正在网上等你。