Deno新手使用MongoDB教程代码时遭遇Uncaught (in promise) AssertionError错误求助
解决Deno连接MongoDB时的AssertionError问题
嘿,作为Deno新手碰到这个问题很正常,我帮你拆解下这个错误:
error: Uncaught (in promise) AssertionError throw new AssertionError(msg); ^ at assert (https://deno.land/std@0.107.0/testing/asserts.ts:224:11) at MongoClient.database (https://deno.land/x/mongo@v0.27.0/src/client.ts:67:5) at file:///C:/Users/m/Desktop/Uproject/GuidApp/deno-survey/mongo.ts:6:19
从错误栈能看出来,问题出在你调用MongoClient.database()方法的时候(对应你本地mongo.ts的第6行)。这个版本的deno_mongo(v0.27.0)有个断言检查,要求客户端必须先成功建立连接,才能调用获取数据库的方法。
给你几个排查方向:
- 先确认你的代码里有没有在调用
client.database()之前,执行await client.connect()并且等待连接完成。很多新手容易忘记加await,导致连接还没建立就去获取数据库,触发这个断言错误。 - 检查你的MongoDB连接字符串是否正确,比如主机地址、端口号、认证信息有没有写错,这也可能导致连接失败,进而触发后续的断言。
至于你问的是否需要提供代码片段:如果上面的排查没解决问题,你可以把mongo.ts里从创建MongoClient到调用database()的核心代码贴出来,这样能更精准地帮你定位问题。
内容的提问来源于stack exchange,提问作者GoodMan
相关产品推荐
相关产品推荐

