我正在尝试使用StrongLoop的Model.find语法(这里的文档:http://apidocs.strongloop.com/loopback/#modelfindfilter-callback)通过名称或标识符找到一个人.
但我无法弄清楚如何指定OR条件.
我可以使用以下语法匹配名称AND标识符:
person.find({
where: {
'name.text': {like: 'Dave'},
'identifier.value': {like: '3303927'}
}
}, callback);
Run Code Online (Sandbox Code Playgroud)
但我希望能够匹配名称OR标识符,如下所示:
person.find({
where: {
'name.text': {like: 'Dave'} ||
'identifier.value': {like: '3303927'}
}
}, callback);
Run Code Online (Sandbox Code Playgroud)
要么不支持,要么我的语法不正确.看起来这是通过REST API支持的(doc:http://docs.strongloop.com/display/DOC/Model+REST+API#ModelRESTAPI-Findmatchinginstances)所以我希望它支持我尝试的方式完成它.
谢谢!
我想知道如何验证应用程序以向端点发出请求,因为我收到401错误,我已成功生成应用程序ID和appkeys,应该使用它,因为没有文档.
我npm install -g strongloop在我的Ubuntu 14.04服务器上安装了Strongloop .该slc命令不起作用.它说
The program 'slc' is currently not installed. You can install it by typing:
sudo apt-get install heimdal-multidev
如何让它运行Strongloop CLI而不是查找此包?我已将此添加到我的PATH中,但仍然无效.有任何想法吗?
其他Strongloop命令,如sl-build工作和strongloop列出npm list -g.
我正在Centos6 AWS ec2机器上运行nodeapp .我已经安装了strongloop这个命令npm install -g strongloop.
slc -h 可以给我.
我有express.js应用程序我的应用程序起始点是/app_path/bin/www
两个slc start和slc start www命令/app_path/bin/给我跟随错误
Error: pm failed, exit with status 1
Ember Data的REST适配器以这种格式接受来自服务器的JSON:
摘自文档:http://guides.emberjs.com/v1.10.0/models/the-rest-adapter/
{
"post": {
"id": 1,
"title": "Node is not omakase",
"comments": [1, 2, 3]
},
"comments": [{
"id": 1,
"body": "But is it _lightweight_ omakase?"
},
{
"id": 2,
"body": "I for one welcome our new omakase overlords"
},
{
"id": 3,
"body": "Put me on the fast track to a delicious dinner"
}]
}
Run Code Online (Sandbox Code Playgroud)
是否有可能从strongloop返回这种JSON格式?
有没有什么好方法可以优雅地加载模块(IDE可以建议或进入文件)使用动态路径或从根目录开始导入模块?
import * as Q from 'q';
import * as loopback from 'loopback';
import datasources from '../../../datasources.json';
import app from '../../../server';
import {ApiError, ValidationError, DatabaseError} from'../../../utils/error-handlers';Run Code Online (Sandbox Code Playgroud)
我似乎陷入了经典的ORM问题,并且不知道如何处理它,所以在这一点上欢迎任何帮助.
有没有办法在hasManyThrough查询上获取数据透视表?更好的是,应用一些过滤器或排序.一个典型的例子
表产品
id,title
Run Code Online (Sandbox Code Playgroud)
表类别
id,title
Run Code Online (Sandbox Code Playgroud)
table products_categories
productsId, categoriesId, orderBy, main
Run Code Online (Sandbox Code Playgroud)
因此,在上面的场景中,假设您希望获得(main = true)的所有类别的产品X,或者您希望按类别对产品类别进行排序orderBy.
现在会发生什么是第一SELECT的产品,以获得产品数据,第二SELECT对products_categories获得categoriesId和最终SELECT的类别,以获得实际的类别.理想情况下,过滤器和排序应该适用于第二SELECT类
SELECT `id`,`productsId`,`categoriesId`,`orderBy`,`main` FROM `products_categories` WHERE `productsId` IN (180) WHERE main = 1 ORDER BY `orderBy` DESC
Run Code Online (Sandbox Code Playgroud)
另一个典型的例子是希望根据用户想要的订单来订购产品图像
所以你会有一个products_images表
id,image,productsID,orderBy
Run Code Online (Sandbox Code Playgroud)
你会想要的
SELECT from products_images WHERE productsId In (180) ORDER BY orderBy ASC
Run Code Online (Sandbox Code Playgroud)
这甚至可能吗?
编辑:这是中间表根据我的架构获得我需要的内容所需的关系.
Products.hasMany(Images,
{
as: "Images",
"foreignKey": "productsId",
"through": ProductsImagesItems,
scope: function (inst, filter) {
return {active: 1};
}
});
Run Code Online (Sandbox Code Playgroud)
事情是范围功能让我访问最终结果而不是中间表.
有些问题我在文档中找不到答案.
我想要得到这样的结构:
Node:
id: '1sdf12asd123',
name: 'node1',
history:
[ ts: 234234234234,
data: { 'foo': 'bar' }
],
...
Run Code Online (Sandbox Code Playgroud)
所以每个单独的节点都有很多历史项.而且我希望能够在push不覆盖任何内容的情况下获得新数据.
现在,我不希望将所有内容存储在每个节点下,而是存储在单独的文档中,因此我认为embedsMany适合于此:
{
"name": "Node",
"plural": "Nodes",
"base": "PersistedModel",
"idInjection": true,
"options": {
"validateUpsert": true
},
"properties": {
"name": {
"type": "string"
}
},
"validations": [],
"relations": {
"history": {
"type": "embedsMany",
"model": "History",
"foreignKey": "HistoryId"
}
},
"acls": [],
"methods": {}
}
Run Code Online (Sandbox Code Playgroud)
所以历史可以简单地说:
{
"name": "History",
"base": "PersistedModel",
"idInjection": true,
"properties": {
"ts": {
"type": "Date"
},
"data": { …Run Code Online (Sandbox Code Playgroud) 我是新手LoopBack,我似乎错过了一些东西.我听说了很多关于StrongLoop和LoopBack,我觉得很难相信这不存在.
我的情况:我正在计算每种不同严重程度的事件数量.
一张表例如:
EventID | 严重
1 | 2
2 | 2
3 | 4
4 | 3
5 | 3
6 | 五
7 | 1
8 | 2
现在我想计算事件的数量并按严重程度对它们进行分组,所以我得到了类似这样的JSON:
{1:1, 2:3, 3:2, 4:1, 5:1} *(severity:count)*
Run Code Online (Sandbox Code Playgroud)
使用SQL它很简单,只需使用"SELECT severity, count(severity) FROM events GROUP BY severity".
我已经研究了一段时间了,仍然无法相信这个简单的事情无法完成LoopBack!
有解决方案吗 或者也许是一篇指向我的文章?
提前致谢!
strongloop ×10
loopbackjs ×7
node.js ×6
javascript ×4
amazon-ec2 ×1
angularjs ×1
centos ×1
ecmascript-6 ×1
ember.js ×1
filter ×1
find ×1
ubuntu ×1
where ×1