[英]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.