MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Грешка в MongoDB:Не може да се използва повторно записване с limit=0

Функцията findOneAndRemove() би работила по-съответно, тъй като е специфична за метода на филтриране, предаван във функцията .findOneAndRemove(filter, options) за премахване на филтрирания обект. Все пак, ако процесът на премахване е прекъснат от връзката, retryRewrites=true ще се опита да изпълни функцията, когато е свързан.

Повече информация тук

Когато се използва retryRewrites, зададено на true, казва на MongoDB да опита отново същия процес, което всъщност може да помогне за предотвратяване на неуспешни връзки с базата данни и да работи правилно, така че се препоръчва да го включите.

Повече информация тук

Ако използвате Mongoose 5^ и MongoDB 3.6, вашият код е по-добре написан така:

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. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongodb :$in оператор срещу много единични заявки

  2. Как мога да използвам MongoDB с Flask?

  3. Използване на UUID вместо ObjectID в MongoDB

  4. създаване на схема на мангуста

  5. Запитване на вградени обекти в Mongoid/rails 3 (по-ниски от, Min оператори и сортиране)