问题标签 [strongloop]
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.
javascript - 如何配置 StrongLoop LoopBack MongoDB 数据源以部署到 Heroku
我正在使用 LoopBack 版本。1.6 并使用以下数据源配置运行本地 mongoDB 服务器进行开发:
现在我想部署到 Heroku,但我不知道如何配置数据源以指向 MongoLab 数据库,因为它有一个动态生成的连接字符串:
来自 Heroku dox:
那么我需要对我的数据源 JSON 进行哪些更改以映射 Heroku 连接字符串?
javascript - StrongLoop:如何在 loopback.boot() 时间定义模型/目录中的模型?
在 Loopback 文档Initializing the application中,说了两件事:
第一的 :
Loopback.boot() 根据json定义文件,或者给定选项加载数据源和模型,然后,从models/和boot/目录加载所有js文件
然后 :
“不要在多个文件中组合使用 app.boot() 和 app.model(name, config),因为这可能会导致模型由于竞争条件而未定义。为避免在使用 app.boot() 时出现这种情况,请确保所有模型作为模型定义的一部分传递。”
两者看起来不矛盾吗?
我有许多模型要定义,我不想在一个巨大的json
文件中定义,因此想js
在所述models/
目录中为每个模型放置一个文件,以便在启动时加载。
目前,我所做的是models/ExampleModel.js
像这样定义一个模型:
问题是:在 期间boot()
,模型已加载,但未附加到应用程序或任何数据源。它不暴露给 REST API。
我尝试了一个小补充来models.json
启用应用程序中的模型:
它不起作用,Loopback抛出Class not found
异常。
我也想过使用app.model()
而不是Model.extend()
,但我不知道如何访问app
所需的模型js
文件。
问题:如何在models/
目录中定义模型并仍然将它们附加到应用程序、数据源和 REST API,同时仍然依赖所有boot()
机制?
mongodb - loopback-mongodb-connector 修改以支持 slug id
我想在Loopback中使用slugs ( String
) 而不是ObjectID
我的一些 REST 公开对象
默认情况下,如果没有定义 ID 属性并且模型选项的 idInjection 为 false,则 LDL 会自动为模型添加 id 属性,如下所示:
我认为我只需要指定String
类型,并generated: false
避免生成环回ObjectId
。
--> 这根本不起作用
在代码中,mongodb.js
我看到无论我的名字是什么id
,它都被一个函数包裹着ObjectID
,这解释了String
价值的损失。
旁注:此外,该 generated
属性从未在 mongodb 连接器代码中使用过,它的用途是什么?
到目前为止我的解决方案
添加我的架构定义的自定义属性(objectId,因为我不确定生成的是什么),它变为:
然后我使用这个属性如下,在MongoDB.prototype.create@mongodb.js:155
:
我以同样的方式更新save()
了方法,现在我可以使用 slug 插入/修改对象,也可以从 REST 接口访问它们。
问题
我不确定这是否正确,它会破坏一些东西吗?
另外,我不太喜欢修改依赖项的想法,所以我更喜欢使用官方方法,或者如果你们在StrongLoop认为可以使用它,可以写一个拉取请求。
node.js - strongloop mongodb 连接器在加载 json 数据时挂起
我创建了一个模型,一个基本的强循环模型。然后我启动了 strongloop 项目并使用资源管理器尝试通过资源管理器加载以下数据并且页面挂起。我没有看到服务器上抛出任何错误或异常。但是网页变得没有响应。
此外,我认为以下任何数据值都不是问题,因为该数据已经存在于另一个 mongo 集合中。
{ “cvsName”:“cvs_OrderVolume”,
“database”:“pst”,
“description”:“按月份排列的上一年至今的订单”,
“detailedDescription”:“”,
“displayRank”:“89”,
“graphTitle”: “上一年至今”,
“graphType”:“line”,
“linearResult”:[“2012-01”,“2012-02”,“2012-03”,“2012-04”,“2012-05”, “2012-06”、“2012-07”、“2012-08”、“2012-09”、“2012-10”、“2012-11”、“2012-12”、“2013-01”、“2013” -02”、“2013-03”、“2013-04”、“2013-05”、“2013-06”、“2013-07”、“2013-08”、“2013-09”、“2013-10”、“2013-11”、“2013-12”、“2014-01”、“2014- 02"],
"链接":"",
"名称":"OrderVolumePreviousYear2DateByMonth",
"pageId":"newCustomerByMonth",
“查询”:“这是一个复杂的选择查询,我无法在此处打印。”,
“结果”:[22644、21752、20586、18608、20239、20326、20435、22298、20341、23225、21089、18053、23104、 23416、24491、23826、23436、23139、25734、29617、24300、24316、19946、18964、22291、17900]
}
更新:
我认为这与“数组”类型和强循环有关。
models.js
"linearResult": {
"type": "array"
},
"result": {
"type": "array"
}
我的数据库中有数组,通常属于这些格式
1. ["2012-01", "2012-02"... 大约 50 个值]
2. [1,2,2,1,.... 大约 100 values]
3. [[1,21,32,12], [2,12,4,3]... 大约 50 个值] (我认为值的数量在这里没有任何意义。但认为值得一提)
我看到数据被插入到 mongoDB 中。但是上述 3 种格式的结果和线性结果对于第 2 和第 3 格式的数据有 [null, null, null ... 大约 100 次]。
mysql - LoopBack 中的 MySQL 多对多关系
我无法让 LoopBack 执行多对多连接查询。考虑文档中的 hasManyThrough 示例:
如果我尝试进行一次搜索以查找与邮政编码为 10012 的特定医生相关的患者,我可以尝试:
但是,对医生患者的搜索实际上只是在 Appointments 表中进行搜索。有什么方法可以直接对特定医生的患者进行简单的搜索?
node.js - 使用内置模型 accessToken 在环回中不起作用
我正在尝试为 android 应用程序编写 api,并希望为此使用 node.js + loopback。但是我在测试/学习语言时遇到了一些麻烦。
以下代码应在我的数据库中生成新用户(确实如此),但是当我尝试使用此用户登录时,没有 AccessToken 会在控制台中创建一个 printen。知道我做错了什么吗?
我的测试代码:create-test-data.js
数据源.json
模型.json
控制台输出
node.js - 在现有 node.js 项目上实现环回的最佳方法是什么
我已经使用成功创建了一些环回项目
命令,但现在我有一个预先存在的节点项目,我想在其中使用环回。
是否有关于迁移到环回的推荐最佳实践?
是否只是在我的 package.json 中包含相关模块引用并运行npm install
?或者是否还需要对我的 app.js 进行一些更改?
我需要手动创建 models.json 和 datasources.json 吗?
任何迹象表示赞赏。
编辑:我将相关的环回模块添加到我的 package.json 中,用环回替换了我的 express 要求,手动添加了 datasources.json 和 models.json,这一切似乎都奏效了。
唯一剩下的问题是,当我打开资源管理器视图时,即使我在 models.json 文件中定义了模型,shell 也会出现但没有 api 端点。
node.js - 如何在同一台服务器上运行多个 StrongLoop LoopBack 应用程序?
我目前在具有不同端口的单个服务器上运行两个StrongLoop LoopBack应用程序(Nodejs 应用程序)。这两个应用程序都是使用命令行创建的slc lb project
。slc lb model
是否可以在具有不同路径和/或子域的单个端口上运行这些应用程序?如果是,我该如何在 Linux 机器上执行此操作?
例子:
http://api.server.com:3000/app1/
对于第一个应用程序。
http://api.server.com:3000/app2/
第二个应用程序。
谢谢。
strongloop - 如何在models.json中设置模型扩展?
我在我的 models.json 中使用了新的环回:
"customer": {
"options": {
"extend": "User"
},
"properties": {}
}
但是经过运行和探索,客户模型不是扩展用户。
mysql - 使用 StrongLoop 自动创建 mysql 表
我正在尝试将 Strongloop 与 MySql 一起使用,但无法弄清楚如何将表迁移或自动创建到 MySql 数据库中。
至少有一种方法可以将模型导出到 MySql 模式中,还是我必须手动创建表?
我一直在尝试使用 mysql 演示应用程序,并且浏览了一段时间的文档,但没有运气 - http://docs.strongloop.com/display/DOC/MySQL+connector
谢谢!