MongoDB 文档已在本地删除但未在 MongoLab 上删除
MongoDB document deleted locally but not on MongoLab
这个 Mongoose 删除方法似乎可以在本地使用 HttpRequester
router.delete('/', (req, res) => {
Book.findOneAndRemove({ title: req.body.title })
.then(() => res.json({ 'book deleted': 'success' }))
.catch(err => console.log('Couldn\'t delete book:', err));
}
);
但 MongoLab 集合仍然显示文档。如何远程删除它? findOneAndDelete()
没有影响。
完整的回购在 https://github.com/ElAnonimo/booklist
findOneAndRemove
之前有问题。
findByIdAndRemove
工作正常。
router.delete('/', (req, res) => {
Book.findOne({ title: req.body.title })
.then((doc) => if(doc)return Book.findByIdAndRemove(doc._id))
.then(() => res.json({ 'book deleted': 'success' }))
.catch(err => console.log('Couldn\'t delete book:', err));
}
);
或者更好的是你可以按照下面的方式做
router.delete('/', (req, res) => {
Book.deleteOne({ title: req.body.title })
.then(() => res.json({ 'book deleted': 'success' }))
.catch(err => console.log('Couldn\'t delete book:', err));
}
);
您是否在 mLab 上将 URI 连接更改为 MongoDB?。我想你已经改变了它。
请务必使用 mongodb://<dbuser>:<dbpassword>@ds12xxxx.mlab.com:27342/[database_name]
,而不是本地 'mongodb://localhost/[database_name]'
如果你改过,请使用deleteOne
https://mongoosejs.com/docs/api.html#model_Model.deleteOne,效果很好。
这个 Mongoose 删除方法似乎可以在本地使用 HttpRequester
router.delete('/', (req, res) => {
Book.findOneAndRemove({ title: req.body.title })
.then(() => res.json({ 'book deleted': 'success' }))
.catch(err => console.log('Couldn\'t delete book:', err));
}
);
但 MongoLab 集合仍然显示文档。如何远程删除它? findOneAndDelete()
没有影响。
完整的回购在 https://github.com/ElAnonimo/booklist
findOneAndRemove
之前有问题。
findByIdAndRemove
工作正常。
router.delete('/', (req, res) => {
Book.findOne({ title: req.body.title })
.then((doc) => if(doc)return Book.findByIdAndRemove(doc._id))
.then(() => res.json({ 'book deleted': 'success' }))
.catch(err => console.log('Couldn\'t delete book:', err));
}
);
或者更好的是你可以按照下面的方式做
router.delete('/', (req, res) => {
Book.deleteOne({ title: req.body.title })
.then(() => res.json({ 'book deleted': 'success' }))
.catch(err => console.log('Couldn\'t delete book:', err));
}
);
您是否在 mLab 上将 URI 连接更改为 MongoDB?。我想你已经改变了它。
请务必使用 mongodb://<dbuser>:<dbpassword>@ds12xxxx.mlab.com:27342/[database_name]
,而不是本地 'mongodb://localhost/[database_name]'
如果你改过,请使用deleteOne
https://mongoosejs.com/docs/api.html#model_Model.deleteOne,效果很好。