【发布时间】:2019-08-04 03:30:52
【问题描述】:
我无法使用 reactjs 和 node js 删除 mongodb 中的值
- 这是我的 react hooks axios post 方法发送到节点 js
const deleteUser = id => {
var data={"id":id}
axios.post('http://localhost:8010/api/social/deletedata',data)
.then((res) => {
console.log('response',res);
})
.catch((error) => {
console.log('error block called',error);
})
setEditing(false)
setUsers(users.filter(user => user.id !== id))
}
- 这是我的节点 js 代码
router.post('/deletedata', function(req, res, next) {
console.log("deleted values are",req.body)
//var id = req.body;
MongoClient.connect(url, function(err, db) {
assert.equal(null, err);
var myId = JSON.parse(req.body.id);
db.collection('customers').deleteMany({"_id": objectId(myId)}, function(err, result) {
assert.equal(null, err);
console.log('Item deleted');
db.close();
});
});
});
【问题讨论】:
-
你有什么错误吗?
-
它不会删除 mongodb 中的值。仅在节点 js 控制台中显示该 ID
-
是否打印了这条消息?项目已删除。您还可以检查“err”变量是否有信息?
-
是的,它是印刷的。并且 err 具有空值
-
我认为这里的问题是这里没有指定数据库。您需要指定数据库名称。所以这里的数据库将是 db('myDBName')。