经验分享
前端传给后端的id怎样跟MongoDB中的_id进行比较
前端传给后端id和MongoDB里的_id进行比较,即使传的id值一致,也无法操作数据库,是因为前端传过来的id是个字符串,而MongoDB中的_id是ObjectId,所以不一致,无法操作。 首先,
2020-01-18 10:02:08
1284

前端传给后端idMongoDB里的_id进行比较,即使传的id值一致,也无法操作数据库,是因为前端传过来的id是个字符串,而MongoDB中的_idObjectId,所以不一致,无法操作。

首先,在后端引入ObjectID

const ObjectID = require('mongodb').ObjectId;

然后在接口函数中将前端传过来的字符串id转为ObjectID进行比较,操作数据库

let {id} = req.query; //接受前端传过来的id
id = new ObjectID(id);    //转化前端传过来的字符串id为ObjectID
...    //然后就可以进行数据库操作

这里的后端使用的是Node.js