无法使用 Cypress 查询 MongoDB 的 ObjectId

Can't get to query MongoDB's ObjectId using Cypress

我正在尝试执行以下查询

db.getCollection('name').find({_id : ObjectId("hereGoesAnId")})

我正在使用 mongodb 模块并且每次都使用 cy.task 查询数据库。这工作正常。事实上,如果我更改要查询的另一个属性的 id,它会非常有效。 问题是我只能通过这个 ID 来识别任务,而 ObjectId 是给我带来问题的那个。

如果我尝试以这种方式发送查询:

const result = await.collection.find({_id: `ObjectId(${varName})`}).toArray()

结果为空,因为它将 ObjectId 解释为字符串但未找到任何内容。

但是如果我这样做:

const result = await.collection.find({_id: ObjectId(`${varName}`)}).toArray()

我收到一条错误消息“未定义 ObjectId...

我是 mongo 的新手,我不确定是否有解决方法?

在您的代码顶部添加:

const { ObjectId } = require('mongodb');