在创建新文档时,如何使用单独集合中特定文档的引用来更新集合中的文档?

50few1ms  于 2021-09-23  发布在  Java
关注(0)|答案(0)|浏览(171)

我想创建一个新联系人。此联系人将具有如下模式
当我创建这个新联系人时,我将发送一个组、firstname、lastname和_userreference。该组将事先已创建(请参见下面的架构),并将在objectid上显示。
因此,当我创建这个contactschema时,我如何更新已经创建的groupschema,以便它知道这个contactschema的这个特定objectid现在有一个对groupschema的引用。。。。我想要一个好的解释
我正在使用node.js express和mongodb

const contactSchema = new Schema({

    group: [{
        type: Schema.Types.ObjectId, ref: 'group', 
        required: [true, 'Group must not be empty']
    }],
    firstName: String,
    lastName: String, 

    _user: {type: Schema.Types.ObjectId, ref: 'User' },

groupschema(这将已经创建)

const mongoose = require ('mongoose')
const { Schema } = mongoose;

const groupSchema = new Schema ({
    title: String,
    created: {
        type: Date,
        default: Date.now
    },
    contacts: [{type: Schema.Types.ObjectId, ref: 'contact' }],
    _user: {type: Schema.Types.ObjectId, ref: 'User' },

})

module.exports = mongoose.model('group', groupSchema)

这是我当前用于创建新联系人的控制器功能,我是否可以在该控制器功能中添加逻辑?

const createContact = async (req, res) => {
                const { phone_number, country, phone_type, group, firstName, lastName, company, email} = req.body
                const newContact = new Contact({
                    phone_number: phone_number,
                    country: country,
                    group: group,
                    phone_type: phone_type,
                    firstName: firstName,
                    lastName: lastName,
                    company: company,
                    email: email,
                    _user: req.user.id
                })
                const createdContact = await newContact.save()
                res.status(201).json(createdContact)
            }

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题