繁体   English   中英

Node.js猫鼬PUT失败

[英]Node.js Mongoose PUT Failed

我正在尝试使用邮递员放置猫鼬数据,但它在服务器控制台中显示“ TypeError:bear.save不是函数”,并导致节点应用程序崩溃。

在这个问题中,我在两个端口上以相同的代码运行两个应用程序,普通的http应用程序可以使所有请求(POST,PUT,DEL,GET)成功,但是另一个https应用程序无法进行PUT请求,它只能使POST和GET成功。

我不明白,如果这是代码问题,为什么http应用上的相同代码没有显示错误。 请帮我。

REST API参考来自- 这里

.get(function(req, res) {
    Bear.find( {ID: req.params.bear_id} , function(err, bear) {
        if (err)
            res.send(err);
        res.jsonp(bear);
    });
}) 

.put(function(req, res) {
    Bear.find( {ID: req.params.bear_id}, function(err, bear) {
        if (err)
            res.send(err);
        bear.Name = req.body.Name;
        //res.json(bear) can send data up to this line
        // save the bear (crash after following line)
        bear.save(function(err) {
            if (err)
                res.send(err);
            res.json({ message: 'Bear updated!' });
       });
 })
 });

错误登录控制台-

TypeError: bear.save is not a function
at Promise.<anonymous> (/var/www/vhosts/mydomain.com/nodeapp.js:130:18)
at Promise.<anonymous> (/var/www/vhosts/mydomain.com/node_modules/mpromise/lib/promise.js:162:8)
at emitOne (events.js:96:13)
at Promise.emit (events.js:188:7)
at Promise.emit (/var/www/vhosts/mydomain.com/node_modules/mpromise/lib/promise.js:79:38)
at Promise.fulfill (/var/www/vhosts/mydomain.com/node_modules/mpromise/lib/promise.js:92:20)
at /var/www/vhosts/mydomain.com/node_modules/mongoose/lib/query.js:1736:26
at model.Document.init (/var/www/vhosts/mydomain.com/node_modules/mongoose/lib/document.js:251:11)
at completeMany (/var/www/vhosts/mydomain.com/node_modules/mongoose/lib/query.js:1734:12)
at cb (/var/www/vhosts/mydomain.com/node_modules/mongoose/lib/query.js:1697:11)

您可能想使用findOne而不是find

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM