MongoDB atlas触发器出现错误:TypeError:无法访问未定义的成员“db”

2024-04-23

我是一个尝试 MongoDB-atlas 免费套餐的新手。我有一个名为 - “mongoCluster”的集群。在它下面,我有一个数据库 - “testdb”,在它下面有一个集合 - “testcollection”。该集合包含文档。从我的 java 应用程序中插入和读取工作正常。

现在我正在尝试在 MongoDB atlas 中创建一个新的计划触发器。但当我运行以下两行时,出现以下错误。对于任何其他 mongo 查询(如删除、更新和插入)也是如此。

Code:

exports = function() {
  
    const collection=context.services.get("mongoCluster").db("testdb").collection("testcollection");
    collection.insertOne({"a": "b"});
   // const doc = collection.findOne();

};

Error:

> ran on Mon Nov 16 2020 18:52:52 GMT-0800 (Pacific Standard Time)
> took 272.591178ms
> error: 
TypeError: Cannot access member 'db' of undefined
> trace: 
TypeError: Cannot access member 'db' of undefined
    at exports (function.js:24:24)
    at apply (<native code>)
    at function_wrapper.js:3:1
    at <anonymous>:8:1

查看错误,要么服务名称不正确(“未定义错误”),要么我缺少服务/数据库/集合的一些权限(“匿名:8:1 错误”)。

我在 MongoDB 文档中读到,服务名称 = 集群名称。有没有办法查看我的服务名称?也尝试过小写的服务名称,但没有成功。还尝试使用完全限定的服务名称 - “mongocluster.qeat9.mongodb.net”,同样的错误。

还是我还缺少其他东西?有人可以帮忙吗?

EDIT 1:

添加触发函数文本的屏幕截图,其中包含示例注释代码。请参阅底部第二行,其中显示了我一直在使用的语法。

提前致谢!


我链接了一个页面示例,您应该能够在其中找到链接的集群(侧面导航中的“链接数据源”)。然后您可以在中使用该服务名称context.services.get("my-svc")...

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MongoDB atlas触发器出现错误:TypeError:无法访问未定义的成员“db” 的相关文章

随机推荐