我试图执行以下查询
db.getCollection('name').find({_id : ObjectId("hereGoesAnId")})
我正在使用mongodb模块,并使用cy.task每次查询db。这是正常工作。事实上,如果我将另一个属性的id更改为query,它将非常有效。问题是我只能通过这个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');