2016-01-02 2 views
1

У меня есть контроллер на основе api с использованием MongoDb на задней панели.ngresource не правильно фильтруется с контроллером останова на основе oData

public class NodesRestController : ApiController 
{ 
    private INodeService _nodeService; 
    public NodesRestController(INodeService nodeService) 
    { 
     _nodeService = nodeService; 
    } 
    [EnableQuery()] 
    public IQueryable<Node> Get() 
    { 
     return _nodeService.GetAllNodes().AsQueryable(); 
    } 
    [EnableQuery()] 
    public Node Get(Guid id) 
    { 
     return _nodeService.GetNodeById(id); 
    } 
} 

в угловом приложении мой ресурс выглядит

(function() { 
'use strict'; 
var nodeServiceRoot = '/api/NodesRest/:id'; 

angular.module('common.service') 
    .factory("nodeResource", ["$resource", "appSettings", nodeResource]) 

function nodeResource($resource, appSettings) { 
    return $resource(appSettings.serverPath + nodeServiceRoot, { 
     id: '@id' 
    }, { 
     "update": { 
      method: "PUT" 
     } 
    }); 
}}()); 

Nodes Коллекция выглядит несколько экземпляров таких ниже.

{ 
"_id" : LUUID("982d248a-ef2a-f94c-be93-96ff67ca1d3f"), 
"Name" : "RTR1", 
"IP" : "1.2.221.121", 
"NodeGroup" : { 
    "_id" : LUUID("36a38db3-830c-4a45-8b9c-63b16394f985"), 
    "Name" : "Group One" 
}} 

я пытаюсь получить все узлы, где NodeGroup.Name = «Первая группа», но я получаю все узлы назад.

var nodesInNodeGroup = nodeResource.query({ 'NodeGroup/Name': vm.CurrJob.NodeGroup.Name}); 
     nodesInNodeGroup.$promise.then(function (response) { 
      nodesInNodeGroup = response; 
     }); 

vm.CurrJob.NodeGroup.Name = 'Group One'

Kindy помощь.

+0

Изменить строку 'var nodesInNodeGroup = nodeResource.query ({' NodeGroup/Name ': vm.CurrJob.NodeGroup.Name});' to 'var nodesInNodeGroup = nodeResource.query ({' NodeGroup.Name ': vm.CurrJob.NodeGroup.Name}); – chridam

+0

Не работал. Все еще возвращает всю коллекцию. –

+0

. Вы не контроллер 'ODataController'. – lencharest

ответ

1

Ваш контроллер не является ODataController.

+0

Моя настоящая проблема объясняется в http://stackoverflow.com/questions/34574958/odata-filter-not-working-on-navigation-property-with-mongodb-and- web-api любезно посмотрите –

Смежные вопросы