- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我正在使用 mongooose 连接 mongodb,但出现以下错误
/Users/uchitkumar/api/node_modules/mongodb/lib/mongo_client.js:804
throw err;
^
AssertionError [ERR_ASSERTION]: handler (func) is required
at new AssertionError (internal/errors.js:315:11)
at _toss (/Users/uchitkumar/api/node_modules/assert-plus/assert.js:22:11)
at Function.out.(anonymous function) [as func] (/Users/uchitkumar/api/node_modules/assert-plus/assert.js:122:17)
at process (/Users/uchitkumar/api/node_modules/restify/lib/server.js:1352:20)
at argumentsToChain (/Users/uchitkumar/api/node_modules/restify/lib/server.js:1361:12)
at Server.serverMethod [as put] (/Users/uchitkumar/api/node_modules/restify/lib/server.js:1475:21)
我的连接代码如下
server.listen(config.port, function() {
mongoose.connection.on('error', function(err) {
console.log('Mongoose default connection error: ' + err)
process.exit(1)
})
mongoose.connection.on('open', function(err) {
if (err) {
console.log('Mongoose default connection error: ' + err)
process.exit(1)
}
console.log(
'%s v%s ready to accept connections on port %s in %s environment.',
server.name,
config.version,
config.port,
config.env
)
require('./routes')
})
global.db = mongoose.connect(config.db.uri)
})
路线代码
server.get('/', function indexHTML(req, res, next) {
fs.readFile(__dirname + '/../index.html', function (err, data) {
if (err) {
next(err);
return;
}
res.setHeader('Content-Type', 'text/html');
res.writeHead(200);
res.end(data);
next();
});
});
这很好......我改变了一些东西,现在它停止了处理这个错误。错误是它无法在 mongodb 客户端中断言某些功能。它需要一个功能。是否要求添加一些处理函数?在哪里添加提前致谢
最佳答案
handler (func) is required
如果您的路由或中间件之一未定义,restify 会抛出错误。
例如:
server.put('/foo/');
这也会触发它:
var myMidelware = undefined; // todo: define this
app.put('/route', myMiddleware, (req, res) => { /* todo: handle req */ })
当它试图验证 myMidelware
是一个函数时,将抛出错误 handler (func) is required
。
我在您发布的路线代码中没有看到这一点,但我认为它正在以某种方式发生。您是否在某处定义了 PUT 方法?
(server.get()、server.post() 等也会发生同样的错误,但堆栈跟踪中的 [as put]
表明它在服务器上阻塞。 put() 调用。)
见 https://github.com/restify/node-restify/blob/v7.2.1/lib/server.js#L1386
另外,我不相信这个错误与 mongodb 有任何关系; mongo 只是在堆栈中,因为您在 mongo 连接打开处理程序中运行 require('./routes')
。错误来自您的路线文件。令人讨厌的是,mongo 的错误处理正在丢失部分堆栈跟踪。如果您将 require('./routes')
移到 mongo 内容之外,它将为您提供正确的堆栈跟踪。
关于javascript - AssertionError [ERR_ASSERTION] : handler (func) is required in mongodb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50342518/
我在一个Spring Boot应用程序中有以下路线。并进行以下测试。第二个测试的目的是验证如果将消息“{}”发送到DIRECT:LOG终结点,它将超出To(Bean-validator://check
这是我的简单 test.py 脚本: import argparse parser = argparse.ArgumentParser('A long string that goes on and
我在Android Studio的另一台计算机上打开我的Kotlin项目,并在事件日志中遇到错误: AssertionError: Root package must be initialized R
我在redux (redux@3.7.2) 中使用combineReducer 方法时遇到错误。当我只使用一个 reducer 时,相同的代码将起作用。 Running code here 代码 co
我目前正在对我的 Controller 的一个方法进行单元测试。只是尝试测试该方法是否返回正确的字符串。 @RequestMapping(value = "/createTestscenario",
我收到错误: java.lang.AssertionError: expected: learning.java.advancedoop2.MyComplex but was: learning.ja
这个问题在这里已经有了答案: How can I check if two ArrayList differ, I don't care what's changed (6 个答案) 关闭 7 年前
我正在准备 OCP 7,我在其中一本证书书上遇到了这篇文章。 To discourage you from trying to substitute an assertion for an excep
我有一个 index.js 文件,它实现了一个 forEach 助手,如下所示: var images = [ { height: 10, width: 30 }, { height: 20,
作为实验,我 try catch 失败的断言。 try: assert 1==2 except Exception as e: print e 为什么没有显示? 最佳答案 >>> try: asser
我在 django 中创建了一个调用函数的命令。该函数执行 django orm 调用: def get_notes(): notes = Note.objects.filter(number
我有一个用户类和一个主题类。用户类可以创建一个主题,将一个主题添加到主题的字典中,并且应该能够返回主题的字典。我是 python 的新手,所以我在 python 逻辑/语法方面遇到了问题 class
我正在尝试创建一个基于用户身份验证限制结果的 View 。出于某种原因,列表切片总是导致 AssertionError Cannot filter a query once a slice has b
我正在使用带有注释处理器的内部 sun API (com.sun.tools.javac) 修改现有类。我能够使用以下代码生成 MethodDecl 并将其添加到 ClassDecl: JCTree.
这是原代码 //@author Brian Goetz and Tim Peierls @ThreadSafe public class SafePoint { @GuardedBy("thi
我能够访问 PasswordChangeSerializer 的 validate() 函数的 user_queryset,但是我仍然收到此错误: assert value is not None,
我正在尝试从破解编码面试中回答以下问题。下面的代码是 GitHub 上一个项目的一部分,here . Given a binary search tree, design an algorithm w
我正在使用 IBM Bluemix 为学校项目创建 Web 服务。 我设置了本地主机来运行我的代码,但是当我在 Windows 10 命令提示符中键入“npm start”时,我遇到了“assert.
将 tf.Dataset 传递到 tf.Keras 模型的 fit() 时,我收到 AssertionError方法。 我正在使用tensorflow==2.0.0。 我检查了我的数据集是否有效: #
我有一个异步回调,我为此编写了一个 junit 测试用例。我正在遵循 CountDownLatch 方法。如果回调失败,我必须使测试用例失败。这是我的代码 lock = new CountDo
我是一名优秀的程序员,十分优秀!