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
    匹配的帖子
  • 所有没有标签的帖子

您可以使用标准/posts-GET方法查找:

  • 所有符合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的数据库查询功能对于大多数实际情况来说过于有限。