繁体   English   中英

在集合中插入多个条目

[英]Inserting multiple entries in collection

我正在尝试为输入的数量创建递增1的条形码,并将每个条形码添加到MongoDB集合中。

我使用db.controlNumber.insert({controlNumber})来做到这一点,并且我也使用console.log(controlNumber)来查看我的结果。 但是,在数据库中,递增的数字将达到最大值并输入多次,在console.log中显示递增的数字。

while (i < count) {
  i++;

  controlNumber.controlNumber = controlVar[0] + "-" + controlVar[1] + "-" + 
  controlVar[2] + "-" + controlVar[3] + "-000" + i;
  db.controlNumber.insert(controlNumber);
  console.log(controlNumber);     
}

我希望我的mongoDB集合具有控制号(例如,如果用户要5个控制号)

a-b-c-d-001  
a-b-c-d-002  
...  
a-b-c-d-005

相反,它使5个条目

a-b-c-d-005

您正在变异controlNumber.controlNumber 而是创建一个新对象以插入:

const toInsert = Object.assign({}, controlNumber, { controlNumber: i });
db.controlNumber.insert(toInsert)

使用async/await或promises处理异步调用也很值得。 如果您确实await db.controlNumber.insert(controlNumber)那么您将不会遇到任何问题,因为在继续进行下一个操作之前,它会等待文档完全插入。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM