looback-angularjs sdk 中的 $elemMatch 查询与 loopback-mongodb-连接器?

$elemMatch query in looback-angularjs sdk with loopback-mongodb-connector?

我在 mongodb 中有一个名为 Dish 的集合,样本数据是 -

[{
"_id": ObjectId("56c839b969431a9913cafa65"),
"name": "Dish 01",
"description": "Dish 01 description",
"ingredients": [{
    "id": "56c4a40bf97c039d44e89185",
    "name": "onion",
}, {
    "id": "56c4a40bf97c039d44e89145",
    "name": "salt",
}, {
    "id": "56c4a40bf97c039d44e89176",
    "name": "spices",
}],
"category": "entree",
"image": "https://s3-ap-southeast-1.amazonaws.com/sichu-bucket/2016-02-20T13:10:31.334Zapi.js"
}, {
"_id": ObjectId("56c839b969431a9913cafa70"),
"name": "Dish 02",
"description": "Dish 02 description",
"ingredients": [{
    "id": "56c4a40bf97c039d44e89185",
    "name": "onion",
}, {
    "id": "56c4a40bf97c039d44e89145",
    "name": "oil",
}],
"category": "main",
"image": "https://s3-ap-southeast-1.amazonaws.com/sichu-bucket/2016-02-20T13:10:31.334Zapi.js"
}]

现在我想要里面有 onion 的菜肴,我想通过使用 loopback-angularjs-sdk[=24= 来获得结果]

我已将此添加到我的 Dish.json 文件

"settings": {
    "mongodb": {
      "allowExtendedOperators": true
    }
}

我不知道应该怎么做。请指导我。

在你的 ngApp 控制器中传递 Dish 对象,然后你可以使用 Dish.find 过滤器创建一个过滤器 api,它将在内部搜索 mongo 所有的菜肴洋葱等成分。

Dish.find({"filter": {"where": {"indegredients.id": "56c4a40bf97c039d44e89185"}}}, function (dishes) {
});

有关过滤器 api 的更多信息,或如何通过 angular SDK 调用它们,您可以使用。 https://docs.strongloop.com/display/public/LB/Where+filter https://docs.strongloop.com/display/public/LB/AngularJS+JavaScript+SDK

此外,您还可以 运行 用于环回的本地服务器 angular sdk 文档。

为了生成angular sdk文档,你可以做的是

lb-ng-doc client/js/services/lb-services.js

http://localhost:3030/

浏览文档