当前位置:  开发笔记 > 编程语言 > 正文

MongoDB查询返回空数组

如何解决《MongoDB查询返回空数组》经验,为你挑选了1个好方法。

有一个基本的快速应用程序,连接到几乎.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控制台

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



1> robertklep..:

在现有数据库之上安装Mongoose模式可能很棘手.例如,Mongoose将通过复制模型名称来确定集合名称; 所以在你的情况下,Mongoose将使用该集合medical_datas,我的猜测是它实际上被调用medical_data.

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

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

推荐阅读
wurtjq
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有