gpt4 book ai didi

javascript - Mongoose Model.find() 方法在生产环境中损坏的问题

转载 作者:太空宇宙 更新时间:2023-11-04 01:42:19 25 4
gpt4 key购买 nike

我对 Model.find() mongoose 方法有问题。在开发环境中它可以正常工作,但是当我在 herokumLab 上部署我的应用程序时,它无法正常工作。在我的项目中,我有一个搜索菜单,其中包含来自数据库的项目下拉列表,我将它们传递给 Handlebars 模板。当单击下拉列表时,您可以从中选择项目: link

但是当我投入生产时不起作用:http://s1356.photobucket.com/user/acho999/media/production%20-evironment_zpsb49om1nz.png.html

我的js文件有向下的代码。我不知道我错在哪里。我读了很多文章。我在模型架构中禁用了自动索引,我读到了关于mongodb驱动程序的信息,我更新了它,还有 MongoDb 和 Mongoose 的兼容性,它们是最后的版本...我不知道出了什么问题。请帮我解决这个问题。

const express = require("express");
const router = express.Router();
const Condition = require("../models/Condition");
const Manufacturer = require("../models/Manufacturer");
const Material = require("../models/Material");
const Kind = require("../models/Kind");
const Type = require("../models/Type");
const db = require("../connection/databaseConn");

router.get("/categoriesLoad",(req,res)=>{

let types = [];
let kinds = [];
let materials = [];
let conditions = [];
let manufacturers = [];

//db.then(()=>{

Type.find({},(err,t)=>{
t.forEach(x=>types.push(x));
});

Kind.find({},(err,t)=>{
t.forEach(x=>kinds.push(x));
});

Material.find({},(err,t)=>{
t.forEach(x=>materials.push(x));
});

Condition.find({},(err,t)=>{
t.forEach(x=>conditions.push(x));
});

Manufacturer.find({},(err,t)=>{
t.forEach(x=>manufacturers.push(x));
}).then(()=>{

let add = req.session.addMessage;

req.session.addMessage ="";

res.render("adminArea",{types,kinds,materials,conditions,manufacturers,add});
});

//})
});

module.exports = router;

最佳答案

有几点需要注意:

您的数据库中是否充满了对象。
是你的代码同步构建。

制造商可能会在其他一切完成之前执行 .then。所有这些 .find() 将同时执行,因此如果 manafacturer 完成,它将执行 .then(),然后你会得到空列表。

关于javascript - Mongoose Model.find() 方法在生产环境中损坏的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52495790/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com