我正在使用带有mongodb数据库的loopback v3并为数组类型的字段实现过滤器。 inq运算符无法正常工作。
我有一个像下面的对象数组
<table>
<tr>
<td>
<div class="flex">
<span class="icon"></span>
<span class="content">Lorem Ipsum dolor sit amet Lorem Ipsum dolor and so on ...</span>
</div>
</td>
<td>
<span class="content">LongWordWithoutWhitespace</span>
</td>
</tr>
</table>
现在我想要一个包含“b”
类别的列表所以我使用下面的过滤方法
[
{
"name":"name1",
"title": "title1",
"category": ["a", "b","c"]
},
{
"name":"name2",
"title": "title2",
"category": ["x", "y","z"]
},
{
"name":"name3",
"title": "title3",
"category": ["b", "d","e"]
}
]
我认为 inq 对于这种情况不起作用。它会给出空响应。
输出:[]
我怎样才能得到我想要的输出。
期望的输出:
filter: {where:{category:{inq:["b"]}}}
下面是我的属性
[
{
"name":"name1",
"title": "title1",
"category": ["a", "b","c"]
},
{
"name":"name3",
"title": "title3",
"category": ["b", "d","e"]
}
]
请建议。
由于
答案 0 :(得分:0)
对我来说上面的情况很好。虽然在您的代码中,数组右括号应该是]
而不是}
,只需指出我在代码中找到的内容。
您是如何为此设置模型的?
"properties": {
"name": {
"type": "string"
},
"title": {
"type": "string"
},
"category": {
"type": [
"string"
]
}
},
您的模型属性是否如此?
答案 1 :(得分:0)
"role": {
"type": "array",
"default": [
"patient"
]
}
let filter = {role:{in:['doctor']}}
this.find({
where: filter
}, cb);