将对象推入Mongoose的子文档's子文档?怎么能做到呢?

Pushing object into subdoc's subdoc in Mongoose? How can it be done?

本文关键字:文档 怎么能 对象 Mongoose      更新时间:2023-09-26

我似乎到处都找不到这个问题的答案。

我的模式模型看起来有点像DB:

    User{
    "email"
    "password"
    "eventList" : [ 
        {
            "eventName"
            "allParticipants" : [
                              "email"
                              "password"
        ]}

显然,javascript不喜欢我像这样推送电子邮件和密码:

const email = req.body.email;
const password = req.body.password;
    const participant = new User({
          email: email,
          password: password,
        });
    User.eventList.participants.push({ 
        allParticipants: participant,
        });

如何处理将对象推入嵌套数组的嵌套数组?提前谢谢你!

这里有几个问题。

1。您正在尝试将数据设置在User上,这是您的Mongoose模型,而不是participant,这是您的User

的实例

您需要使用participant.eventList而不是User.eventList。后者指的是你的Mongoose模型,不存在。

2。创建用户时eventList可能不存在

除非您设置了默认值,否则当您创建您的User时,participant.eventList为空。您需要将一个对象推入该数组,该数组根据您的模式应该具有键eventNameallParticipants