Mean.js angularjs查询mongodb数据库
我知道这是一个愚蠢的问题,但我错过了一些东西,我迷路了 我已经创建了一个新的项目,使用“yomeanjs”,从而创建了标准的脚手架 从应用程序的公共端,我试图搜索用户,而不是基于他们的id,而是他们的电子邮件地址 有人告诉我如何使用Users.get或Users.query编写查询,但我找不到一个示例来说明如何这样做。我是否必须在应用程序端创建新的控制器/路由 在公众方面,我尝试了许多不同的方法,如:Mean.js angularjs查询mongodb数据库,angularjs,mongodb,mean,Angularjs,Mongodb,Mean,我知道这是一个愚蠢的问题,但我错过了一些东西,我迷路了 我已经创建了一个新的项目,使用“yomeanjs”,从而创建了标准的脚手架 从应用程序的公共端,我试图搜索用户,而不是基于他们的id,而是他们的电子邮件地址 有人告诉我如何使用Users.get或Users.query编写查询,但我找不到一个示例来说明如何这样做。我是否必须在应用程序端创建新的控制器/路由 在公众方面,我尝试了许多不同的方法,如: var user = Users.query({ email: 'bob@this.c
var user = Users.query({
email: 'bob@this.com'
});
我现在似乎无法透过美丽的树木看到森林
谢谢 您可以使用findOne()
我想答案要复杂一点。这是可行的,尽管可能有更好的方法 我必须在其中一个应用程序用户控制器中创建一个新函数:
exports.userByEmail = function(req, res, next, email) {
console.log('userByEmail ' + email);
User.findOne({
email: email
}).exec(function(err, user) {
if (err) return next(err);
if (!user) return next(new Error('Failed to load User with email ' + email));
res.json(user);
next();
});
};
接下来,我必须创建一条新路线:
app.route('/users/email/:emailAddr').get(users.me);
app.param('emailAddr', users.userByEmail);
然后我用$htttp.get调用它:
$http.get('/users/email/' + newEmail).
success(function(data, status, headers, config) {
// do something useful with data
}).
error(function(data, status, headers, config) {
$scope.error = 'Problem finding a user with that email';
});
问题源于我无法使用现有的CRUD调用之一发送查询json对象
$http.get('/users/email/' + newEmail).
success(function(data, status, headers, config) {
// do something useful with data
}).
error(function(data, status, headers, config) {
$scope.error = 'Problem finding a user with that email';
});