在使用mongoose将新条目保存到我的数据库后,我需要一些关于返回值的帮助。
这就是我的控制器的外观:
var userModel = require('../models/users');
module.exports = {
findAll: function(req, res) {
userModel.user.findAll(function(err, users) {
return res.json(users);
});
},
findId: function(req, res) {
var id;
id = req.params.id;
userModel.user.findId(id, function(err, user) {
return res.json(user);
});
},
addUser: function(req, res) {
newUser = new userModel.user;
newUser.username = req.body.username;
newUser.password = req.body.password;
newUser.addUser(function(err, user) {
return res.json(user);
});
}
};
这是我的users.js:
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var UserSchema = new Schema({
username: {
type: String,
required: true
},
password: {
type: String,
required: true
}
});
module.exports = {
findAll: UserSchema.statics.findAll = function(cb) {
return this.find(cb);
},
findId: UserSchema.statics.findId = function(id, cb) {
return this.find({
_id: id
}, cb);
},
addUser: UserSchema.methods.addUser = function(cb) {
return this.save(cb);
}
};
一切正常,但它只返回我添加了addUser的新用户。我想把所有条目,包括新闻添加的条目作为返回值。就像使用“findAll”一样。怎么能这样做?
答案 0 :(得分:3)
是的,就像bernhardw所说,除了使用save()添加的文档之外,似乎没有办法返回任何内容。
我按照他的建议在addUser()中调用了findAll(),现在一切都很完美 - >保存新的用户后,我可以返回所有用户。感谢。