Javascript 在Model.js、NodeJs中创建对象

Javascript 在Model.js、NodeJs中创建对象,javascript,node.js,express,object,mongoose,Javascript,Node.js,Express,Object,Mongoose,在我的model.js(使用mongoose)中,我最初在model.js中创建了40个对象,这些对象将在整个程序中使用。任何文件中的其他函数都不会创建更多对象,而只会更新现有对象 My model.js var TicketSchema = mongoose.model('Tickets', TicketSchema); for(let i = 1;i<=40;i++) { var new_ticket = new TicketSchema({ticket_number:i}

在我的model.js(使用mongoose)中,我最初在model.js中创建了40个对象,这些对象将在整个程序中使用。任何文件中的其他函数都不会创建更多对象,而只会更新现有对象

My model.js

var TicketSchema =  mongoose.model('Tickets', TicketSchema);

for(let i = 1;i<=40;i++)
{
    var new_ticket = new TicketSchema({ticket_number:i});
    new_ticket.save(function(err, ticket) {
   });
}
var TicketSchema=mongoose.model('Tickets',TicketSchema);

对于(设i=1;i每次启动服务器时,它将创建新的40个文档。您可以使用此功能通过检查计数避免创建记录是否已存在

const TicketModel =  mongoose.model('Tickets', TicketSchema);

const insertTicketNumber = async () => {
  try {
    const count = await TicketModel.countDocuments({});
    if (count) return;
    await TicketModel.create(
      [...Array(40).keys()]
        .map(i => i + 1)
        .map(number => ({ ticket_number: number }))
    );
  } catch (error) {
    console.log(error.message);
  }
};

有没有从数据库中删除这些票证?在创建更多票证之前,您是否检查它们是否在那里?或者每次启动时您是否只创建另外40个票证?没有,任何函数中都不会删除票证。我需要在整个执行过程中只使用40个初始创建的对象。那么,随着时间的推移,会有更多票证吗?听起来像是您需要更多的迁移模式,需要一次性初始化。或者只需先检查并在需要时创建。不,我想知道这是因为服务器关闭并再次运行吗?当我托管代码时,会不会再次发生?是的,每次服务器启动时,都会导入该文件并创建40个新票证。此功能不适用于t添加项目时,我得到一个空列表。您是否调用了该函数?