node.js - Mongoose 得到 `TypeError: user.save is not

我正在尝试将用户数据发布到 mongodb 但出现错误:

`TypeError: user.save is not a function' - 如何解决这个问题?

这是我的代码:

var

    express     = require('express'),
    app         = express(),
    bodyParser  = require('body-parser'),
    mongoose    = require('mongoose'),
    PORT        = process.env.PORT || 8080;



//connect to db 

mongoose.connect('mongodb://3gwebtrain:admsin@ds147975.mlab.com:47975/family');

app.use( bodyParser.urlencoded({extended : true }));
app.use( bodyParser.json() );


app.get('/', function( req, res ) {

    res.json({message:'works'})

});


var Schema = mongoose.Schema;

var User = new Schema({

    name:String,
    username:{type:String, required:true, index:{unique:true}},
    password:{type:String, required:true, select:false}

})


var apiRouter = express.Router();


apiRouter
    .get('/users', function( req, res ){

        res.send( "yet to get users!");

    })
    .post('/users', function( req, res ) {

        var user = User;

        user.name = req.body.name;
        user.username = req.body.username;
        user.password = req.body.password;

        user.save(function(err) {

            if( err ) {

                console.log( err ); //TypeError: user.save is not a function

            }

            res.send("user created!");

        })

    })


app.use('/api', apiRouter);


app.listen( PORT );
console.log( 'app listens at ' + PORT );

最佳答案

首先从 Schema 创建模型:

 var UserModel = mongoose.model('User', User);

然后从用户模型中创建对象

 var user = new UserModel(req.body)

然后调用

 user.save(function(){})

检查文档 http://mongoosejs.com/docs/api.html#model_Model-save

关于node.js - Mongoose 得到 `TypeError: user.save is not a function` - 怎么了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40355403/

相关文章:

java - 在最新的 MongoDB java 驱动程序中使用 createIndex() 时,索

python - 如何摆脱 mongodb 中的光标 id 错误?

node.js - 我可以使用 MongoDb 驱动程序从 node.js 调用 rs.initia

node.js - Mongoose - findByIdAndUpdate - 不适用于 req.

node.js - Mongoose 更新 : $inc is not working in ups

mongodb - Mongotemplate - 根据大于(gt)或小于(lt)运算符查询Obje

c# - 如何使用 c# 驱动程序删除 mongodb 文档中的嵌套数组元素

ruby-on-rails - Mongoid 批量更新/Upsert 替代方案?

java - 如何在 Morphia/MongoDB Java 中创建复合唯一索引?

c# - 从 2.0 MongoDb c# 驱动程序获取结果