Node.js 如果MongoDB没有';不存在吗?

Node.js 如果MongoDB没有';不存在吗?,node.js,reactjs,mongodb,mongoose,mongodb-query,Node.js,Reactjs,Mongodb,Mongoose,Mongodb Query,我是mongodb的新手。我正试图通过mongoose在mongodb中插入数据。但我面临着一些问题 我已经附上了我希望如何插入数据的图片 现在是我的模式 const ticketApplicationSchema = new mongoose.Schema({ ticketId: { type: ObjectId, text: String, required: true, ref: "Ticket&qu

我是mongodb的新手。我正试图通过mongoose在mongodb中插入数据。但我面临着一些问题

我已经附上了我希望如何插入数据的图片

现在是我的模式

const ticketApplicationSchema = new mongoose.Schema({



    ticketId: {
        type: ObjectId,
        text: String,
        required: true,
        ref: "Ticket",
      },
      applications:[{
          userId:{
              type:ObjectId,
              default:"adsfadsfasdf",
              ref:"User"
          },
          answers:{
              type:Array
          }
      }]

})
和我的插入数据函数

const insertTicket = (ticketId, ticketObject) => {
  return new Promise((resolve, reject) => {
    try {
      ticketApplicationSchema
        .findOneAndUpdate(
          { ticketId },
          
          ticketObject,

          {
            new: true,
            upsert: true,
          }
        )
        .then((data) => resolve(data))
        .catch((error) => {
          // console.log(error);
          reject(error);
        });
    } catch (error) {
      console.log(error);
      // reject(error);
    }
  });
};
请帮帮我,我哪里做错了

简而言之,告诉我如何将应用程序数据(用户和答案)作为数组添加到应用程序对象。我希望数据插入到同一个ticketId中。当我重新运行代码时,它只是替换当前数据,而不是添加user和ticket的新对象

这是图片


例如,我的票证是abcd1234。现在,多个用户可以提交他们的答案。

如果您在一个新对象中有一个新数组,您可以像这样简单地创建该对象:

ticketApplicationSchema.findOneAndUpdate(
   { ticketId }, 
   { $push: 
   { applications: newUserObject  } 
   }).then((data) => resolve(data))
        .catch((error) => {
          // console.log(error);
          reject(error);
        });
    } catch (error) {
      console.log(error);
      // reject(error);
    }
  });

很难理解你在期待什么,男人。你能说清楚一点吗?首先,谢谢你关注我的问题@TusharShahi。我想插入一个包含用户ID和用户提交的3个答案的对象。对象将作为数组插入到应用程序中。换句话说:应用程序:[{user:userId,答案:[“a”,“b”,“c”]},{user:userId,答案:[“a”,“b”,“c”]},{user:userId,答案:[“a”,“b”,“c”]}我认为这是清楚的。如果不让我知道,我会进一步解释。谢谢。但是ticketId是一样的,在应用程序中你正在添加用户及其答案?看,我的项目是:将有一个票证列表,用户将单击票证,并给出答案。现在我想把它存储在我的数据库中。所以我想添加ticketId,然后添加userId以及他的答案。由于将有多个用户,所以我想将它们添加到一个数组中。这就是我希望添加的数据的工作方式。谢谢