Loopbackjs 如何查找与标记列表匹配的文档?
我有一个类似下面的博客帖子列表Loopbackjs 如何查找与标记列表匹配的文档?,loopbackjs,Loopbackjs,我有一个类似下面的博客帖子列表 [ { title: "Post #1", tags: ["foo", "bar"] }, { title: "Post #2", tags: ["bar", "baz"] }, { title: "Post #3", tags: [] }, { title: "Post #4" },
[
{
title: "Post #1",
tags: ["foo", "bar"]
},
{
title: "Post #2",
tags: ["bar", "baz"]
},
{
title: "Post #3",
tags: []
},
{
title: "Post #4"
},
{
title: "Post #5",
tags: ["qux"]
},
...
]
如何使用标准的/posts
GET方法查找:
- 所有与
标记匹配的帖子foo
- 所有与标签
和foo
匹配的帖子bar
- 所有没有标签的帖子
- 所有符合foo标签的帖子 /posts?filter={“where”:{“tags”:{“inq”:[“foo”]}}
- 所有与foo和bar标签匹配的帖子 /posts?filter={“where”:{“and”:[{“tags”:{“inq”:[“foo”]},{“tags”:{“inq”:[“bar”]}}}}
- 所有没有标签的帖子 /posts?filter={“where”:{“tags”:[]}
与db查询相比,Loopback构建在Express之上,支持大多数查询,因为它在内部使用本机数据库驱动程序来构建查询。有各种可能与您的问题相关的示例。这里介绍了前两个匹配项:简言之,据我所知,对此类查询的支持非常有限。但应该适用于mongo数据源。至于是否存在,我会尝试使用空数组的
inq
where操作符(尽管我从未尝试过),或者在服务器端使用特定于数据源的代码进行自定义实现。例如,在mongodb中使用$size或$exists操作符……最后我放弃了环回,用Express编写了一个RESTful API。IMHO的数据库查询功能对于大多数实际情况来说过于有限。