当前位置: 首页 > 面试题库 >

如何在Node.js MongoDB本机驱动程序中将字符串转换为ObjectId?

傅正豪
2023-03-14
问题内容

我在环境中使用mongodb本机驱动程序,nodejs并且需要将id字符串转换为ObjectId才能在更新查询中使用它,我该怎么做?


问题答案:

使用ObjectId(nodejs
driver doc

当您具有表示BSON ObjectId的字符串(例如,从Web请求接收)时,则需要将其转换为ObjectId实例:

const {ObjectId} = require('mongodb'); // or ObjectID 
// or var ObjectId = require('mongodb').ObjectId if node version < 6

const updateStuff = (id, doc) => {
  // `ObjectId` can throw https://github.com/mongodb/js-bson/blob/0.5/lib/bson/objectid.js#L22-L51, it's better anyway to sanitize the string first
  if (!ObjectId.isValid(s)) {
    return Promise.reject(new TypeError(`Invalid id: ${id}`));
  }
  return collection.findOneAndUpdate(
    {_id: ObjectId(id)}, 
    {$set: doc}, 
    {returnOriginal: false}
  );
};


 类似资料:
  • 如何将“4,250,000.40”转换为4,250,000.40,即通过保留逗号和点将字符串转换为数字?使用JavaScript

  • 问题内容: 我正在阅读有关python的新f字符串的 博客 ,它们看起来很整洁。但是,我希望能够从字符串或文件中加载f字符串。 我似乎找不到任何执行此操作的字符串方法或其他函数。 从上面我的链接中的示例: 但是,如果我有琴弦怎么办?我希望能够像这样: 事实证明,我已经可以执行类似的操作并获得性能提高。即: 问题答案: f字符串是代码。不仅以安全的方式(当然,字符串文字就是代码),而且以危险的任意代

  • 给定数字的字符串表示形式,如何将其转换为TypeScript中的类型?

  • 问题内容: 我想这些类型的值,转换的,,等多项。在JavaScript中,我们可以使用,但是PHP中有可用的类似方法吗? 问题答案: 通常不需要这样做,因为PHP在大多数情况下都会为您强制类型。对于那些你想显式转换型的情况下,_投_它:

  • 问题内容: 我有一个,我需要一个。如何从一个转换为另一个? 问题答案: 好问题。我有以下五种 6种方法可以做到这一点。 注意:返回。因此有效地两者是相同的。 调用,这又设置了数组。 另一方面,调用以下程序包私有构造函数。 从源代码中的Java 8的源代码 因此似乎是最有效的方法,在这两个存储器和速度方面,用于转换char到String。

  • 问题内容: 我想知道有什么方法可以将字符串转换为 SOAPMessage 吗? 让我说我有一个字符串如下: 当我这样做时: 一切正常。但是我还是从服务器上得到的。可能是什么原因?我更改了<和>以转义字符。 问题答案: 将String转换为输入流,然后将其读入SOAP消息工厂。 您可以在此处阅读有关如何执行此操作的信息。