首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何解决ObjectParameterError?

如何解决ObjectParameterError?
EN

Stack Overflow用户
提问于 2021-07-12 17:29:26
回答 1查看 64关注 0票数 0

你能告诉我如何解决这个错误吗?还有其他方法将数组发送回控制台吗?错误说参数是不正确的,我应该改变函数以另一种方式发送它吗?谢谢!

代码语言:javascript
复制
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");
});

错误代码记录-

代码语言:javascript
复制
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)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-12 18:01:07

查看查询文档 (以及显示的错误),您需要将查询对象传递给模型上的find(...)方法。

所以,试试这个吧:

代码语言:javascript
复制
app.get("/articles", function(req, res) {
  Article.find({}, function(err, foundArticles) {
    if (err) {
      console.log(err);
    } else {
      res.send(foundArticles);
    }
  });
});

注意,通过向find传递一个空对象,您将告诉Mongo返回Article集合中的所有内容。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68351625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档