假设我有一个mongodb items
集合,看起来像这样(MongoLab):
{
"_id": {
"$oid": "531d8dd2e4b0373ae7e8f505"
},
"tags": [
"node",
"json"
],
"anotherField": "datahere"
}
{
"_id": {
"$oid": "531d8dd2e4b0373ae7e8f505"
},
"tags": [
"ajax",
"json"
],
"anotherField": "datahere"
}
我想获得node
在tags
数组中的所有项目。
我已尝试过以下内容,但没有成功 - 它会返回所有项目 - 没有执行搜索?
Plunker演示:http://plnkr.co/edit/BYj09TOGyCTFKhhBXpIO?p=preview
// $route.current.params.id = "node" - should give me only 1 record with this tag
Restangular.all("items").customGET("", { "tags": $route.current.params.id });
完整示例,为两种情况返回相同的记录:
var all = db.all('items');
// GET ALL
all.getList().then(function(data) {
$scope.all = data;
console.log(data);
});
// SEARCH for record where "tags" has got "node"
all.customGET('', { "tags": "node"}).then(function(data) {
$scope.search = data;
console.log(data);
});
任何建议都会非常感激。
答案 0 :(得分:4)
根据Mongolab REST API Documentation,您必须使用q
参数传递查询对象。在您的情况下,它是q={"tags":"node"}
。
使用Restangular会是这样的:
Restangular.all("items").customGET('', { q: {"tags": "node"}})