保存在Mongoose后返回值

在使用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”一样。 如何能够做到这一点?

是的,就像bernhardw说,除了用save()添加文档之外,似乎没有任何方法可以返回任何内容。

我遵循他的build议,并在addUser()内部调用findAll(),现在所有工作都很完美 – >保存一个新的用户后,我可以返回所有的用户。 谢谢。