0
我正在使用MEAN堆栈来构建Web应用程序。我想基于我的控制器中的参数通过ObjectId过滤来自服务器的数据。我的参数适用于键值,例如按名称过滤,但通过ObjectID过滤不起作用。我正在使用MongoJS和Mongojs.ObjectID。在链接到角度控制器的服务器中使用“Mongojs.ObjectID”
Controller.js:
var refresh = function() {
$http.get('/collection', {params:{"_id":"111100000111"}}).success(function(response) {
console.log("Success");
$scope.collection = response;
});
};
refresh();
Server.js:
app.get('/collection', function(req,res){
if(req.query.id){
db.users.find({_id: mongojs.ObjectId(req.query.id)},function (err, docs) { console.log(docs); res.json(docs); });
}
else{
db.users.find(function (err, docs) { console.log(docs); res.json(docs); });
}
});
由于服务器端函数运行为的if-else, “如果” 的失败的情况下,它会转到“其他”,它将带回所有文档。我已经尝试了几乎所有在“id”之前添加“_”并添加/删除“id”或“_id”引号的组合。不同的组合已经带回了“null”,一个空的数组,或者去了“else”语句。
这个完美工作。谢谢! – mjoyce91