我有一个Loopback moddel,如下所示:
{
"name": "string",
"elements": [
"string"
]
}
现在我想过滤elements
属性是否包含某个字符串。
像这样:
User.find({
filter: {
where: {elements: $scope.objects[i].id} //doesn't work, I want sth like "element contains $scope.objects[i].id
}}, function (user) {
console.log(user);
});
答案 0 :(得分:-2)
警告:此解决方案旨在回答“如何过滤对象列表”的问题。它被接受了所以我无法删除它。我对LoopBack一无所知,后者具有性能影响我并不知情。因此,如果您正在寻找“LoopBack”最佳实践,请继续搜索。
这对我来说似乎是一个javascript问题。 elements属性包含一个数组,因此您可以使用filter()过滤该数组。
yourModel = { // <-- Using a plain object for demo.
"name": "string",
"elements": [
"string"
]
}
matchingElements = yourModel.elements.filter(function(elm){ return elm === $scope.objects[i].id});
didMyModelHaveTheElement = matchingElments.length > 0;