因此,我有一个API调用/add
,它将在POST
上向我的路口添加一辆汽车。因此,当前我正在编写批处理,以通过在UNIX Shell中使用curl
在后台调用&
来在短时间内添加多辆汽车。根据我的日志,所有请求(总计125个)已成功发送到服务器,并且服务器已正确接收到它。但是,无论我尝试十字路口多少次,总共不会有125辆汽车,有时大约有80辆,有时我只有40辆。
我可能会猜到这是猫鼬造成的错误。我想可能是当一个请求将汽车添加到MongoDB时,另一个请求进入了,所以可能是因为第二个请求的汽车没有添加到数据库中。
以下是我的代码的一部分。我正在尝试找到一种方法,以便将我的所有汽车(请求)正确添加到数据库中。
db.car.create({
license: license,
type: "small",
speed: 60
}, (rtd) => {
var id = rtd._id;
db.scene.add(nowCIns, req.body.position, req.body.direction, id, (rtd2) => {
res.json(rtd2);
})
})
//db.js
car: {
create: (obj, cb) => {
cb = cb || function (cbr) { };
car.create(obj, (err, res) => cb(res.toObject()));
},
modify: (obj, cb) => {
cb = cb || function (cbr) { };
car.updateOne({ _id: obj._id }, obj, (err, res) => cb(res));
},
get: (id, cb) => {
cb = cb || function (cbr) { };
car.findOne({ _id: id }).lean().exec((err, res) => {
cb(res);
})
},
getAll: (cb) => {
cb = cb || function (cbr) { };
car.find({}).lean().exec((err, res) => {
cb(res);
})
}
}