Как извлечь и добавить значение из одной коллекции в другую .. Mongoose, Node JS - PullRequest
0 голосов
/ 28 июня 2018

Актив и 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{
           res.redirect("/assetlists");
           console.log("Working create");
       }
   });
   
   Asset.findOneAndUpdate({ name: astname }, {$set:{ quantity: quantity1}}, function(err, updatedAssetquantity){
        if(err){
            console.log(err);
        } else {
        
        }
    });
});

1 Ответ

0 голосов
/ 28 июня 2018

Попробуйте этот код:

Здесь мы используем $ inc в запросе на обновление. Запрос на обновление вызывается в обратном вызове после создания 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");
                }
            });
        }
    });
});

Надеюсь, это поможет вам.

...