MongoDb用两个id更新路由?

时间:2014-11-07 19:52:03

标签: node.js mongodb backbone.js

我前面的模型没有保存。 :tid是团队ID,:pid是玩家ID。

router.put('/api/players/:tid/:pid', player.update);

update: function(req, res) {
    models.Player.update({ _id: req.params.pid }, function(err, player) {
        if (err) {
            res.json({error: 'Player not found.'});
        } else {
            console.log(player);
        }
    })
} // obviously looks a bit illogical, but not sure what to do here 100%

现在我只是在我的骨干系列中使用静态团队ID。

var Backbone = require('backbone'),
    PlayerModel = require('../models/player');

module.exports = PlayersCollection = Backbone.Collection.extend({
    model:  PlayerModel,
    url: '/api/players/545d1d72f7895d00008e2f43'
});

所以基本上用team_id 545d1d72f7895d00008e2f43抓住玩家,但它也希望使用玩家ID发布到该路线,这就是我上面的路线需要的原因,:tid/:pid

我只是不确定我的mongoDB更新功能应该是什么样子才能正确更新服务器上的模型。

1 个答案:

答案 0 :(得分:0)

好吧,我忘记了这是一个旧问题,我曾经遇到过这个问题。我必须添加req.body

update: function(req, res) {
    models.Player.update({ _id: req.params.pid }, req.body, function(err, player) {
        if (err) {
            res.json({error: 'Player not found.'});
        } else {
            res.json(player);
        }
    });
}