为什么我们在 Mongodb 中使用 ObjectId(id)?

Why we use ObjectId(id) in Mongodb?

这里使用Object Id的目的是什么?

app.get('/product/:id', async(req, res) => {
  const id = req.params.id;
  const query = { _id: ObjectId(id) };
  const product = await productCollection.findOne(query);
  res.send(product);
})

保留字段名_id作为主键;它的值在集合中必须是唯一的,是不可变的,并且可以是除默认数组以外的任何类型mongo 将其用作 ObjectId。

所以你解析 id 的目的是因为 id 它是一个字符串,而在你的数据库中 _id 它不是字符串而是 ObjectId.

注意: 如果您使用 mongoose,则不需要将 id 解析为 ObjectId,因为 mongoose 会自动将该字段转换为ObjectId