2015-07-10 51 views
0

我想比较使用Express的两个字段。我已经尽力了,但我得到了错误。如何编写查询查询来比较Express和MongoDB中的两个字段?

我附上了我的架构,路由和控制器。这些是API调用,我想知道如何通过AngularJS $http.get方法的两个字段。我附上我的AngularJS控制器的API调用也

模式:

var PromusageSchema = new Schema({ 

    StoreID: { 
     type: String, 
     default: '', 
     trim: true 
    }, 
    StoreName: { 
     type: String, 
     default: '', 
     trim: true 
    }, 
}); 

mongoose.model('Promusage', PromusageSchema); 

控制器

exports.promusageByEMAIL = function(req, res, next, id) { 
    Promusage.find({customer_Email:id}) 
     .populate('user', 'displayName') 
     .exec(function(err, promusage) { 
      if (err) return next(err); 

      if (!promusage) return next(new Error('Failed to load Promusage ' + id)); 
     req.promusage = promusage; 
     next(); 
    }); 
}; 

路线

app.route('/promusages1/:promusageEmail') 
    .get(promusages.read) 
    .put(promusages.update) 
    .delete(promusages.delete); 

    // Finish by binding the Promusage middleware 
app.param('promusageEmail', promusages.promusageByEMAIL); 

回答

1

如果你想将信息发送到一个API,你应该使用$http.post或类似的。 $http.get用于检索数据,而不是发送数据。

这就是说,它看起来像你实际上试图从API获取信息。但是,您的GET请求似乎没有映射到可用的功能。应该是这样的:.get(promusages.read)这是你的路线中的.get(promusages.find)

这是您定义的唯一功能。虽然很难说,因为我不确定Promusage在这里。