0

我正在 MongoDB Realm 中编写一个函数,我想将其用作 GraphQL 的自定义解析器。函数的一部分应该通过它的 id 来获取一个特定的文档。根据文档,我可以使用context.services.get('mongodb-atlas'). 这是简化的代码摘录:

exports = async () => {
  const cluster = context.services.get('mongodb-atlas');
  const collection = cluster.db('my-db').collection('my-coll');
  return await collection.findOne({"_id": "61d33d2059c38ef0584c94f8"});
}

但是,findOne()调用返回null。我知道上面的 id 是有效的,因为我可以成功调用collection.find()并列出所有带有 id 的文档。

我试过的

  • findOne({"_id": "61d..."})- 回报null
  • findOne({"_id": new ObjectId("61d...")})- 错误:未定义“ObjectId”。
  • 按照此处const ObjectId = require('mongodb').ObjectId的建议显式声明 ObjectId - 错误:“不支持 MongoDB Node.js 驱动程序”。
  • const ObjectId = require('bson').ObjectId用-声明 ObjectId再次findOne()返回null

您能推荐任何其他途径来进行此查找吗?

4

0 回答 0