Javascript 如何使用AngularJS控制器在$http.get中指定MongoDB键/值参数?

Javascript 如何使用AngularJS控制器在$http.get中指定MongoDB键/值参数?,javascript,angularjs,mongodb,mean-stack,Javascript,Angularjs,Mongodb,Mean Stack,我正在使用web应用程序的平均堆栈。在我的controller.js中,我有以下内容: var refresh3=函数(){ $http.get('/users').success(函数(响应){ log(“我得到了我请求的数据”); $scope.users=响应; $scope.contact3=“”; }); }; 刷新3(); 这将从我的MongoDB中撤回“用户”集合中的每个对象。例如,我如何向其中添加参数以仅返回“name”:“Bob”的对象?我尝试使用以下方法在“/users”括

我正在使用web应用程序的平均堆栈。在我的controller.js中,我有以下内容:

var refresh3=函数(){
$http.get('/users').success(函数(响应){
log(“我得到了我请求的数据”);
$scope.users=响应;
$scope.contact3=“”;
});
};
刷新3();
这将从我的MongoDB中撤回“用户”集合中的每个对象。例如,我如何向其中添加参数以仅返回“name”:“Bob”的对象?我尝试使用以下方法在“/users”括号中添加参数:

$http.get('/users',{params:{“name”:“Bob”})
我也尝试过它的变体,但运气不好。任何帮助都将不胜感激

如果您的服务器正在接收数据 (它应该是,
$http.get('/users',{params:{“name”:“Bob”}})
是正确的)

在服务器端,使用查询字符串:

req.query
像这样:

app.get('/users', function(req,res){
  if(req.query.name){
    db.users.find({"name":req.query.name},function (err, docs) { console.log(docs); res.json(docs); }); 
  }
  else{
    db.users.find(function (err, docs) { console.log(docs); res.json(docs); });
  }
});

问题是什么

您在评论中暗示您的服务器已设置为响应
app.get('/users')
get请求,如下所示:

db.users.find(function (err, docs) {
 // docs is an array of all the documents in users collection
 console.log(docs); res.json(docs); }); });
因此我相信您的angularjs$HTTPGET是正确的,并且您的服务器正在接收参数
{“name”:“Bob”}
; 它只是不知道如何处理它们: 它所要做的就是在
app.get('/users')
get请求的特定情况下返回整个集合


如何为REST配置服务器

您不必在服务器上重新发明控制盘

更确切地说,您可以考虑使用中间件来自动化任务(在当前情况下,当您收到来自客户端的参数的GET查询时,任务将发出适当的MangoDB请求)


e、 g.

$http.get('/users',{params:{“name”:“Bob”})似乎正确;请在默认情况下将“no luck”定义为服务器查询字符串,除非在$resource中指定,以使实际的like/users/bob。在这两种情况下,您仍然可以在服务器端代码中访问req.query或req.params。“不走运”意味着要么控制器坏了,我没有得到任何数据,要么我得到了没有任何参数的预期数据。请检查数据是否与您的查询一起传递(作为查询字符串:您可以在浏览器中使用开发人员工具)以及您的服务器是否接收到该信息;您的意思是堆栈使用Mongoose吗?网站的其他部分使用Mongoose,但这部分具体使用的是MongoJS。感谢您的回复。您能否澄清“如果”在哪里语句与原始应用程序相关。get?极好的备注:语句已损坏;将在5分钟内访问适当的计算机时重写,我重写了“如果”声明我最初计划的方式;但重点是手动处理所有可能的查询是痛苦且容易出错的;依赖一个专门为rest查询设计的工具更容易,就像我提供的链接一样。顺便说一句,我假设您的服务器正在获取数据(即带有{“name”:“Bob”}的请求)在查询字符串中)。是这样吗?嘿,新代码工作人员,我真的很感激。我一定会研究你链接到的工具。真的很感谢你的帮助。