如何将ObjectId传递到POST请求中?

问题描述 投票:0回答:1

[我正在尝试使用节点js(Express)和mongo DB在两个表(组表和移动表)之间建立One-To-Many关系。我已经有一个来自组表的group Id,我的问题是,如何用我拥有的group Id保存运动(请参见第3点>])。我尝试通过groupId: req.body.group._idgroupId: req.body.group,但我永远无法填充该变量

这是我创建的两个实体:

[1)群组实体

const mongoose = require("mongoose")

const GroupSchema = mongoose.Schema({
    name: {
        type: String,
        required: true
    },
    limit: {
        type: String,
        required: true
    },

    date: {
        type: Date,
        default: Date.now
    },
    movement: [{ type: mongoose.Schema.Types.ObjectId, ref: 'Movement' }],
    user: { type: mongoose.Schema.Types.ObjectId, ref: 'User' }
})

module.exports = mongoose.model("Group", GroupSchema)

2)运动实体

const mongoose = require("mongoose")

const MovementSchema = mongoose.Schema({
    description: {
        type: String,
        required: true
    },
    value: {
        type: String,
        required: true
    },
    date: {
        type: Date,
        default: Date.now
    },
    group: { type: mongoose.Schema.Types.ObjectId, ref: 'Group' }
})

module.exports = mongoose.model("Movement", MovementSchema)

这是我做端点的移动路由器(实际问题在这里

3)运动路线

const router = require('express').Router();
const verify = require('./verifyToken');
const User = require('../model/User');
const Group = require('../model/Group');
const Movement = require('../model/Movement');

// Create Movement
router.post('/', verify, async (req, res) => {
    const post = new Movement({
        description: req.body.description,
        value: req.body.value,
        groupId: req.body.group._id //**tried this**
    });

    try {
        const savedMovement = await post.save()
        res.status(200).send(res.json({ data: savedMovement }));
    } catch (error) {
        res.status(400).send(res.json({ message: error }));
    }
});

module.exports = router;

请求已发送

{
    "description":"group1",
    "value":"233",
    "group":"5e506f3c56233d08f79bc8f3"
}

我正在尝试使用node js(Express)和mongo DB在两个表(Group和Movement表)之间建立一对多关系。我已经有一个分组ID来自我这边的分组表,我的...

node.js mongodb express
1个回答
0
投票

如果console.log(req.body)给您这个:

© www.soinside.com 2019 - 2024. All rights reserved.