为什么我们在 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
这里使用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