Ich bekomme einen seltsamen Konflikt mit PouchDB beim Hinzufügen eines neuen Dokuments. Der Konflikt tritt auf, wenn ein neues Dokument erstellt wird, kurz nachdem ein neues Dokument erstellt wurde. Wenn ich jedoch ca. 5 Minuten warte, tritt der Konflikt nicht mehr auf. Ich bin sehr dabei, das zu lösen.PouchDB 409 beim Hinzufügen von doc.
Ich verwende einen Express mit Knoten. Hier ist meine Methode zum Hinzufügen eines Elements. Es wird in einem Router verwendet (siehe unten)
//require stuff
...
//require pouch
var PouchDB = require('pouchdb');
//db setup
var db = new PouchDB('http://127.0.0.1:5984/db');
module.exports = {
addItem: (req, res, next) => {
//check body fields with express validator
req.checkBody('firstname', "Invalid, please enter firstname").notEmpty();
req.checkBody('lastname', "Invalid, please enter lastname").notEmpty();
req.checkBody('address', "Invalid, please enter address").notEmpty();
var phonenumber = req.body.phonenumber; //phone number is optional dont use express validator
var errors = req.validationErrors();
if (errors) {
res.render('add', {
errors: errors
});
}
var newDoc = {
_id: date.toString() ,
firstname: req.body.firstname,
lastname: req.body.lastname,
address: req.body.address,
phonenumber: phonenumber,
dateAdded: moment(date).format("dddd, MMMM Do YYYY, h:mm:ss a")
}
db.put(
newDoc
).then(function (response) {
res.redirect('/feed');
}).catch(function (err) {
if (err){
return next(err);
}
});
},
...
//more methods
}
...
//export module
Router für das Hinzufügen von
//require all the stuff
//post new item route
router.route('/feed/add').post(ActionController.addItem);