你能告诉我如何解决这个错误吗?还有其他方法将数组发送回控制台吗?错误说参数是不正确的,我应该改变函数以另一种方式发送它吗?谢谢!
const express = require("express");
const bodyParser = require("body-parser");
const ejs = require("ejs");
const mongoose = require('mongoose');
const app = express();
app.set('view engine', 'ejs');
app.use(bodyParser.urlencoded({
extended: true
}));
app.use(express.static("public"));
mongoose.connect("mongodb://localhost:27017/wikiDB", {
useNewUrlParser: true
});
const articleSchema = {
title: String,
content: String
};
const Article = mongoose.model("Article", articleSchema);
app.get("/articles", function(req, res) {
Article.find("/articles", function(err, foundArticles) {
if (err) {
console.log(err);
} else {
res.send(foundArticles);
}
});
});
app.listen(3000, function() {
console.log("Server started on port 3000");
});错误代码记录-
ObjectParameterError: Parameter "filter" to find() must be an object, got /articles
at model.Query.Query.find (C:\Users\huang\Mandy's Useful Folders\Web Development\Wiki-API\node_modules\mongoose\lib\query.js:2098:16)
at Function.find (C:\Users\huang\Mandy's Useful Folders\Web Development\Wiki-API\node_modules\mongoose\lib\model.js:2156:13)
at C:\Users\huang\Mandy's Useful Folders\Web Development\Wiki-API\app.js:27:11
at Layer.handle [as handle_request] (C:\Users\huang\Mandy's Useful Folders\Web Development\Wiki-API\node_modules\express\lib\router\layer.js:95:5)
at next (C:\Users\huang\Mandy's Useful Folders\Web Development\Wiki-API\node_modules\express\lib\router\route.js:137:13)
at Route.dispatch (C:\Users\huang\Mandy's Useful Folders\Web Development\Wiki-API\node_modules\express\lib\router\route.js:112:3)
at Layer.handle [as handle_request] (C:\Users\huang\Mandy's Useful Folders\Web Development\Wiki-API\node_modules\express\lib\router\layer.js:95:5)
at C:\Users\huang\Mandy's Useful Folders\Web Development\Wiki-API\node_modules\express\lib\router\index.js:281:22
at Function.process_params (C:\Users\huang\Mandy's Useful Folders\Web Development\Wiki-API\node_modules\express\lib\router\index.js:335:12)
at next (C:\Users\huang\Mandy's Useful Folders\Web Development\Wiki-API\node_modules\express\lib\router\index.js:275:10)
at SendStream.error (C:\Users\huang\Mandy's Useful Folders\Web Development\Wiki-API\node_modules\serve-static\index.js:121:7)
at SendStream.emit (events.js:375:28)
at SendStream.error (C:\Users\huang\Mandy's Useful Folders\Web Development\Wiki-API\node_modules\send\index.js:270:17)
at SendStream.onStatError (C:\Users\huang\Mandy's Useful Folders\Web Development\Wiki-API\node_modules\send\index.js:421:12)
at next (C:\Users\huang\Mandy's Useful Folders\Web Development\Wiki-API\node_modules\send\index.js:735:16)
at onstat (C:\Users\huang\Mandy's Useful Folders\Web Development\Wiki-API\node_modules\send\index.js:724:14)发布于 2021-07-12 18:01:07
查看查询文档 (以及显示的错误),您需要将查询对象传递给模型上的find(...)方法。
所以,试试这个吧:
app.get("/articles", function(req, res) {
Article.find({}, function(err, foundArticles) {
if (err) {
console.log(err);
} else {
res.send(foundArticles);
}
});
});注意,通过向find传递一个空对象,您将告诉Mongo返回Article集合中的所有内容。
https://stackoverflow.com/questions/68351625
复制相似问题