无法使用 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');
我正在尝试执行以下查询
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');