sql >> Databáze >  >> NoSQL >> MongoDB

Chyba MongoDB:Nelze použít opakovatelné zápisy s limitem=0

Funkce findOneAndRemove() by fungovala přesněji, protože je specifická pro metodu filtrování předávanou ve funkci .findOneAndRemove(filtr, možnosti) k odstranění filtrovaného objektu. Pokud je však proces odebrání přerušen připojením, retryRewrites=true se po připojení pokusí o provedení funkce.

Více informací zde

Když použijete retryRewrites nastavené na true, říká MongoDB, aby opakoval stejný proces znovu, což ve skutečnosti může pomoci zabránit neúspěšným připojením k databázi a fungovat správně, takže se doporučuje nechat ji zapnout.

Více informací zde

Pokud používáte Mongoose 5^ a MongoDB 3.6, váš kód je lepší napsat takto:

mongoose.connect('mongodb.....mongodb.net/test?retryWrites=true', (err) => {
if(err){
    console.log("Could not connect to MongoDB (DATA CENTER) ");
    }else{
        console.log("DATA CENTER - Connected")
    }
});// CONNECTING TO MONGODB v. 3.6

router.delete('/:productId', (req, res, next) => {
const id = req.params.productId;
Product.findOneAndRemove({ _id: id })//updated function from .remove()
    .exec()
    .then(result => {
        res.status(200).json({
       message: "Product Removed Successfuly"
     });
    })
    .catch(err => {
        console.log(err);
        res.status(500).json({
            error: err
        })
    }); ;
});


  1. Příprava serveru MongoDB pro produkci

  2. Python - Jak zkontrolovat, zda je dostupný server Redis

  3. Vypršení platnosti oznámení o prostoru klíče Redis se nespouští

  4. Mongodb našel objednávku na vrácení dokumentů