AssetとAssetlistは2つの異なるコレクションです。アセットリストが作成された場合、アセットリストの数量をアセットの数量に追加したいと思います。誰かがこれを達成する方法を提案できますか?
app.post("/assetlists/new", function(req, res){
var astname = req.body.astname;
var brand = req.body.brand;
var quantity1 = req.body.quantity;
var purchasedate = req.body.purchasedate;
var newAssetlist = {astname: astname, brand: brand, quantity: quantity, purchasedate: purchasedate};
Assetlist.create(newAssetlist, function(err, newlyCreated){
if(err){
console.log(err);
} else{
res.redirect("/assetlists");
console.log("Working create");
}
});
Asset.findOneAndUpdate({ name: astname }, {$set:{ quantity: quantity1}}, function(err, updatedAssetquantity){
if(err){
console.log(err);
} else {
}
});
});
このコードを試してください:
ここでは、更新クエリで$ incを使用しています。Updateクエリは、AssetListの作成後にコールバックで呼び出されます。
app.post("/assetlists/new", function (req, res) {
var astname = req.body.astname;
var brand = req.body.brand;
var quantity1 = req.body.quantity;
var purchasedate = req.body.purchasedate;
var newAssetlist = {astname: astname, brand: brand, quantity: quantity, purchasedate: purchasedate};
Assetlist.create(newAssetlist, function (err, newlyCreated) {
if (err) {
console.log(err);
} else {
console.log("Working created", newlyCreated);
Asset.findOneAndUpdate({name: astname}, {$inc: {quantity: 1}}, function (err, updatedAssetquantity) {
if (err) {
console.log(err);
} else {
console.log("updatedAssetquantity", updatedAssetquantity);
res.redirect("/assetlists");
}
});
}
});
});
これがお役に立てば幸いです。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加