sql >> Database teknologi >  >> NoSQL >> MongoDB

MongoDB-fejl:Kan ikke bruge genforsøgsskrivninger med limit=0

FindOneAndRemove()-funktionen ville fungere mere i overensstemmelse hermed, da den er specifik for den filtreringsmetode, der er sendt i funktionen .findOneAndRemove(filter, optioner) for at fjerne det filtrerede objekt. Alligevel, hvis fjernelsesprocessen afbrydes af forbindelsen, er retryRewrites=true vil forsøge at udføre funktionen, når den er tilsluttet.

Mere information her

Når du bruger retryRewrites indstillet til sand, beder MongoDB om at prøve den samme proces igen, hvilket faktisk kan hjælpe med at forhindre mislykkede forbindelser til databasen og fungere korrekt, så det anbefales at have den tændt.

Mere info her

Hvis du bruger Mongoose 5^ og MongoDB 3.6, er din kode bedre skrevet som:

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. Azure Redis Cache - Flere fejl TimeoutException:Timeout udfører GET {key}

  2. Hvordan laver jeg en NOT IN-forespørgsel i Mongo?

  3. XFS vs EXT4 – Sammenligning af MongoDB-ydelse på AWS EC2

  4. Mongoose:valideringsfejlsti er påkrævet