sql >> Database >  >> NoSQL >> MongoDB

Het uitvoeren van een update op het pad '_id' zou het onveranderlijke veld '_id' wijzigen

Het lijkt erop dat je maar één Inventory hoeft te updaten dossier. U kunt dit eenvoudig doen:

app.put("/api/inventory/:sku", (req, res, next) => {
  return Inventory.updateOne(
    { sku: req.params.sku },  // <-- find stage
    { $set: {                // <-- set stage
       id: req.body.id,     // <-- id not _id
       sku: req.body.sku,
       total_qty: req.body.total_qty,
       current_qty: req.body.current_qty
      } 
    }   
  ).then(result => {
    res.status(200).json({ message: "Update successful!" });
  });
});

Het is niet nodig om een ​​nieuwe Inventory aan te maken enz., aangezien u alleen een bestaande hoeft te updaten op basis van sku

Hier is meer documentatie over updateOne



  1. Woordenboek invoegen in MongoDB met c#-stuurprogramma

  2. MongoDB:unieke index op de eigenschap van het array-element

  3. 6 best practices voor het implementeren van MongoDB op Amazon EC2

  4. Hoe gegevens te verkrijgen Mongo-gegevens met behulp van geaggregeerde MongoDB