Javascript Item.filter不是一个函数
大家好,我正在创建一个路由来获取登录用户创建的项目,但是当我使用.filter函数时,我得到一个错误。我不知道为什么会出现这个错误。在做同样的事情之前,我已经做过其他的应用程序,但从未出错 Item.filter不是一个函数 “我的项目”路线Javascript Item.filter不是一个函数,javascript,node.js,Javascript,Node.js,大家好,我正在创建一个路由来获取登录用户创建的项目,但是当我使用.filter函数时,我得到一个错误。我不知道为什么会出现这个错误。在做同样的事情之前,我已经做过其他的应用程序,但从未出错 Item.filter不是一个函数 “我的项目”路线 const requireAuth = require("../middleware/requireAuth"); const express = require("express"); const mongoose = require("mongoose
const requireAuth = require("../middleware/requireAuth");
const express = require("express");
const mongoose = require("mongoose");
const Item = mongoose.model("Item");
router.get("/my-items", requireAuth, async (req, res) => {
try {
const items = Item.filter((item) => item.userId === req.user.userId);
res.send(items);
} catch (err) {
console.log(err);
}
});
项目架构
const mongoose = require("mongoose");
const itemSchema = new mongoose.Schema({
userId: {
type: mongoose.Schema.Types.ObjectId,
ref: "User",
},
phone: {
type: mongoose.Schema.Types.String,
ref: "User",
},
email: {
type: mongoose.Schema.Types.String,
ref: "User",
},
seller: {
type: mongoose.Schema.Types.String,
ref: "User",
},
title: {
type: String,
required: true,
},
category: {
type: String,
required: true,
},
detail: {
type: String,
requiredL: true,
},
condition: {
type: String,
required: true,
},
price: {
type: Number,
required: true,
},
});
mongoose.model("Item", itemSchema);
Item
是一个模型,但不是数据库中的文档,您需要先进行查询才能获取这些项
router.get("/my-items", requireAuth, async (req, res) => {
try {
const query = Item.find()
query.exec().then(items => {
const filteredItems = items.filter((item) => item.userId === req.user.userId);
res.send(items);
})
} catch (err) {
console.log(err);
}
});
Item
是一个模型,但不是数据库中的文档,您需要先进行查询才能获取这些项
router.get("/my-items", requireAuth, async (req, res) => {
try {
const query = Item.find()
query.exec().then(items => {
const filteredItems = items.filter((item) => item.userId === req.user.userId);
res.send(items);
})
} catch (err) {
console.log(err);
}
});
它应该从数据库返回您想要的确切项目,如果需要,您可以使用更多查询
它应该从db返回您想要的确切项目,如果需要,您可以使用更多查询。它返回一个空数组,可能您在参数中需要一个空对象,如
Item.find({})
。它返回一个空数组,可能您在参数中需要一个空对象,如Item.find({})
。太棒了,谢谢你不知道我为什么没有想到它。谢谢你不知道我为什么没有想到它