来自mongolab的自定义索引的结果使用矩形

时间:2014-04-24 15:46:57

标签: angularjs mongodb restangular mlab

我正在尝试在MongoLab集合中使用自定义索引,但我无法弄清楚如何使用此自定义索引获取Restangular.one响应。事实上,我甚至无法使用带有自定义索引的网址来确定如何将调用发送到MongoLab。

因此,例如,我的收藏集添加了自定义索引" sitename"。我试过这个:

    .when('/sites/:sitename', {
      templateUrl: 'views/site.html',
      controller: 'SiteCtrl',
      resolve: {
        site: function(Restangular, $route){
          return Restangular.one('sites', $route.current.params.sitename).get();
        }
      }
    })

但那并没有奏效。 (我并不感到惊讶)。我也试过添加“网站名称”。到setRestangularFields部分:

  RestangularProvider.setRestangularFields({
    id: '_id.$oid'
  });

这也没有帮助。

  • 有没有办法用自定义索引做一个Restangular.one?
  • 有什么方法可以使用_id以外的东西从MongoLab获取单个文档吗?

感谢您的帮助,

斯科特

1 个答案:

答案 0 :(得分:0)

我在Martin(Restangular制造商)和MongoLab支持的帮助下解决了这个问题。事实证明我需要使用Restangular执行customGet并使用q:参数来满足MongoLab。最后一段代码改为一行:

return Restangular.all('sites').customGET("", {q: { "sitename" : $route.current.params.sitename } });

所以,整个部分看起来像这样:

.when('/sites/:sitename', {
  templateUrl: 'views/site.html',
  controller: 'SiteCtrl',
  resolve: {
    site: function(Restangular, $route){
      return Restangular.all('sites').customGET("", {q: { "sitename" : $route.current.params.sitename } });
    }
  }
})

希望这会对你有所帮助。

斯科特