-1

node.js、expressjs 4、および mongoose を使用しています。私のマングースシェマは次のとおりです。

var MachineSchema  = new mongoose.Schema({

serial_num: { type: String},
description: {type: String},
nature: {type: String, sparse: true},
mark: {type: String },
type: String,
history: {
        date: Date,
        action: String,
        description: String,
        specif_infos: {
            client: String,
            number: Number
        }
    },
purchase_date: {type: Date},
actual_owner: {
        first_name: {type: String},
        last_name: {type: String},
        phone: {type: Number},
        owner_address:
            {
                avenue: {type: String},
                city: {type: String},
                country: {type: String},
                postal_code: { type: Number}
            }
    },
actual_concess: {
        name: String,
        phone: Number,
        concess_address:
                {
                avenue: String,
                city: String,
                country: String,
                postal_code: { type: Number, min: 0, max: 99999}
            }
    }
});

どうすればデータを投稿できますか? POSTMAN で raw を使用しようとしましたが、動作しません! アイデアはありますか?

そして私のコントローラーの場合:machine.js

exports.postMachines = function (req, res) {

var machine = new Machine();

machine.serial_num = req.body.serial_num;
machine.description = req.body.description;
machine.nature = req.body.nature;
machine.mark = req.body.mark;
machine.type = req.body.type;
machine.history = req.body.history;
machine.purchase_date = req.body.purchase_date;
machine.actual_owner = req.body.actual_owner;
machine.actual_concess = req.body.actual_concess;

machine.save(function (err) {
    if (err) {
       res.json({ message: 'la machine ne peut pas être ajoutée'});*/
        res.send(err);
    } else {
        res.json({ message: 'machine ajoutée', data: machine});
    }
});

};

exports.getMachines = function (req, res) {

    Machine.find(function (err, machines) {
    if (err) {
        res.send(err);
    }

    res.json(machines);

});

}; exports.getMachine = 関数 (req, res) {

Machine.findById(req.params.id, function (err, machine) {
    if (err) {
        res.send(err);
    }
    res.json(machine);
});

};

exports.getMachine = function (req, res) {

Machine.findOne(req.params.mark, function (err, machine) {
    if (err) {
        res.send(err);
    }
    res.json(machine);
});

};

exports.putMachine = function (req, res) {

Machine.findById(req.params.id, function (err, machine) {
    if (err) {
        res.send(err);
    }

    machine.history = [req.body.history];
    machine.actual_owner = req.body.actual_owner;
    machine.actual_concess = [req.body.actual_concess];

    return machine.save(function (err) {
        if (!err) {
            console.log("machine mise à jour");
        } else {
            console.log("erreur : " + err);
        }
        return res.json(machine);
    });
});

};

exports.deleteMachine = function (req, res) {

Machine.findByIdAndRemove(req.params.id, function (err) {
    if (err) {
        res.send(err);
    }
    res.json({ message: 'machine supprimée!' });
});

};

exports.deleteMachines = 関数 (req, res) {

Machine.remove(function (err, machines) {
    if (err) {
        res.send(err);
    }

    res.json("machines supprimées");
});

};

4

1 に答える 1