我已经使用ag网格构建了这个网格,我正在尝试通过单击saveInformation按钮将其数据存储在mongodb数据库中。

app.component.ts
saveInformation() {
console.log('actionPlanPartiesrowData: ', this.actionPlanPartiesrowData);
this.saveInformationService
.saveActionPlanInformation(this.actionPlanPartiesrowData)
.subscribe((response) => {
console.log('INSIDE ACTION PLAN COMPONENT INSIDE SUBSCRIBE saveInformation');
console.log('response: ', response);
});
}save-information.service.ts
saveActionPlanInformation(actionPlanPartiesrowData
) {
return this.http.post(`${this.uri}/fillActionPlan2`, actionPlanPartiesrowData, {
responseType: "text"
});
}在后端:
server.js
router.route('/fillActionPlan2').post((req, res) => {
console.log('REQ.body of action plan is ', req.body);
res.json('Action Plan data has been received on the server side')
actionPlanRow.bulkWrite([{
insertOne: {
document: req.body[0]
},
insertOne: {
document: req.body[1]
},
insertOne: {
document: req.body[2]
}
}]).then(rest => {
res.json(res.insertedCount, res.modifiedCount, res.deletedCount)
console.log(rest.insertedCount, rest.modifiedCount, rest.deletedCount);
});
})下面是后端接收的数据: req.body:
Req.body:
REQ.body of action plan is [ { project: 'row1 data',
id: 'row1 data',
riskId: 'row1 data',
iso27001: 'row1 data',
priority: 'row1 data',
projectOwner: 'row1 data',
estimatedCost: 'row1 data' },
{ project: 'row 2 data',
id: 'row 2 data',
riskId: 'row 2 data',
iso27001: 'row 2 data',
priority: 'row 2 data',
projectOwner: 'row 2 data',
estimatedCost: 'row 2 data' },
{ id: 'row 3 data',
project: 'row 3 data',
riskId: 'row 3 data',
priority: 'row 3 data',
iso27001: 'row 3 data',
projectOwner: 'row 3 data',
estimatedCost: 'row 3 data*' },
{},
{},
{},
{},
{},
{},
{},
{} ]跑完后:
db.actionplanrows.find()
我总是只找到插入的最后一行:
{ "_id" : ObjectId("5d1899417fe11c05ecd9e7eb"), "id" : "row 3 data", "project" : "row 3 data", "riskId" : "row 3 data", "priority" : "row 3 data", "iso27001" : "row 3 data", "projectOwner" : "row 3 data", "estimatedCost" : "row 3 data*" }我不明白为什么第一行和第二行不插入。为什么只执行最后一个insertOne()?
谢谢!
发布于 2019-07-01 09:14:36
我不知道为什么大容量写入只插入最后一个文档。
我使用insertMany而不是以这种方式解决了这个问题:
actionPlanRow.insertMany([req.body[0], req.body[1], req.body[2], req.body[3], req.body[4]], {
multi: true
}希望这对某人有帮助:)
https://stackoverflow.com/questions/56824468
复制相似问题