[英]Mongoose always returns an empty array in NodeJS
I am trying to pull all the products
of of the products
collection on MongoDB Atlas.我正在尝试在 MongoDB Atlas 上提取products
集合的所有products
。 All I get in return are empty arrays.我得到的只是空数组。
I have a proper connection to the database.我有一个正确的数据库连接。
I am unsure about the model and how I am using Mongoose.我不确定该模型以及我如何使用 Mongoose。
Here is my connection... connectDb.js
这是我的连接... connectDb.js
import mongoose from "mongoose";
const connection = {};
async function connectDb() {
if (connection.isConnected) {
console.log("Connection in progress");
return;
}
const db = await mongoose.connect(process.env.MONGO_SRV, {
useCreateIndex: true,
useFindAndModify: false,
useNewUrlParser: true,
useUnifiedTopology: true,
});
console.log("DB Connected");
connection.isConnected = db.connections[0].readyState;
}
export default connectDb;
Here is my schema... ./models/Product.js
这是我的架构... ./models/Product.js
import mongoose from "mongoose";
import shortid from "shortid";
const { String, Number } = mongoose.Schema.Types;
const ProductSchema = new mongoose.Schema({
name: {
type: String,
required: true,
},
price: {
type: Number,
required: true,
},
description: {
type: String,
required: true,
},
sku: {
type: String,
unique: true,
required: true,
default: shortid.generate(),
},
mediaUrl: {
type: String,
required: true,
},
});
// Check for an existing `models.Product` ... then run the product schema
export default mongoose.models.Product ||
mongoose.model("products", ProductSchema);
Here is my query ... ./api/products.js
这是我的查询... ./api/products.js
import Product from "../../models/Product";
import connectDb from "../../utils/connectDb";
connectDb();
export default async (req, res) => {
const products = await Product.find({});
console.log(`products are ... ${products}`);
res.status(200).json(products);
};
Here is my database这是我的数据库
Here is the results in the console...这是控制台中的结果......
According to Mongoose Documentation if db.connections[0].readyState}
returns 1... it means connected Connection Doc根据猫鼬文档,如果db.connections[0].readyState}
返回 1...这意味着已连接的连接文档
Check your env
var MONGO_SRV
.检查您的env
VAR MONGO_SRV
。 Make sure that your connection URL is with the relevant DB.确保您的连接 URL 与相关数据库。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.