MongoDB如何在Node.js中从一个字符串创建一个ObjectId

561 阅读1分钟

MongoDB要求每个文档包含一个_id 字段。如果在插入一个文档时,_id 字段不存在,MongoDB会为你生成一个ObjectId

你可以在你的应用程序中使用ObjectIds作为主键。当从浏览器请求信息时,你可以发送一个ObjectId作为一个给定资源的标识符。与URL中的任何值一样,ObjectIds被表示为一个字符串。你需要在你的路由处理程序中转换请求参数。

本教程告诉你如何从一个字符串值创建一个ObjectId实例。

从一个字符串创建一个MongoDB ObjectId

你可以使用MongoDB Node.js驱动导出的ObjectId 类,将MongoDB ObjectId从字符串转换为ObjectId实例。将你的字符串值作为参数传递给构造函数,该包会创建12字节的ObjectId实例:

import { ObjectId } from 'mongodb'

const objectId = new ObjectId('your-object-id-as-string')  

请注意: ObjectId 构造函数会验证你的输入,如果提供的字符串值不是ObjectId的有效十六进制表示,则会抛出一个错误。十六进制格式是你从MongoDB中知道的格式,如61dc2d31bbe643fc32022a5f

当用户试图用非ObjectId字符串值挑战你的后端时,请准备好捕捉相关的MongoDB错误。

祝您愉快!