gpt4 book ai didi

node.js - MongoDB 查询返回空数组

转载 作者:可可西里 更新时间:2023-11-01 09:56:37 26 4
gpt4 key购买 nike

有一个基本的 express 应用程序正在运行,它连接到一个将近 0.5 GB 的 MongoDB 数据库......当我运行时:

router.get('/', function(req, res, next) {
medical_data.find({'State':'CT'}, function(err, data) {
console.log(data)
res.render('index');
});
});

我得到一个返回的空白数组:

[]
GET / 304 87.233 ms - -
GET /stylesheets/style.css 304 4.842 ms - -

这是我要查询的来自 MongoLab 的条目:

{
"_id": {
"$oid": "5671dfafd7f6fdd02436682e"
},
"Street": "65 KANE ST",
"City": "WEST HARTFORD",
"State": "CT"
}

这是我的 medical_data 模型:

var mongoose = require('mongoose');

var medical_data_schema = new mongoose.Schema({
Street: String,
City: String,
State: String
});

var medical_data = mongoose.model('medical_data', medical_data_schema);
// Make this available to our other files
module.exports = medical_data;

为什么我得到一个空白数组?如果我运行 findOne 而不是 find 我会在控制台中得到 null

我以前运行过其他成功的 Node 应用程序,但没有一个有这么大的数据库,所以我认为这可能是超时问题?我不确定,任何帮助都会很棒。

最佳答案

在现有数据库上安装 Mongoose 模式可能很棘手。其一,Mongoose 将通过模型名称的复数形式来确定集合名称;所以在你的情况下,Mongoose 将使用集合 medical_datas,我猜它实际上叫做 medical_data

您可以使用 collection 指定用于架构的集合名称选项:

var medical_data_schema = new mongoose.Schema({
Street : String,
City : String,
State : String
}, { collection : 'medical_data' });

关于node.js - MongoDB 查询返回空数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34344492/

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